We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e11d80a commit 7e24969Copy full SHA for 7e24969
include/linux/bvec.h
@@ -117,11 +117,18 @@ static inline bool bvec_iter_advance(const struct bio_vec *bv,
117
return true;
118
}
119
120
+static inline void bvec_iter_skip_zero_bvec(struct bvec_iter *iter)
121
+{
122
+ iter->bi_bvec_done = 0;
123
+ iter->bi_idx++;
124
+}
125
+
126
#define for_each_bvec(bvl, bio_vec, iter, start) \
127
for (iter = (start); \
128
(iter).bi_size && \
129
((bvl = bvec_iter_bvec((bio_vec), (iter))), 1); \
- bvec_iter_advance((bio_vec), &(iter), (bvl).bv_len))
130
+ (bvl).bv_len ? (void)bvec_iter_advance((bio_vec), &(iter), \
131
+ (bvl).bv_len) : bvec_iter_skip_zero_bvec(&(iter)))
132
133
/* for iterating one bio from start to end */
134
#define BVEC_ITER_ALL_INIT (struct bvec_iter) \
0 commit comments