- 'ax25_uid_for_each'
   - '__bio_for_each_bvec'
   - 'bio_for_each_bvec'
+  - 'bio_for_each_bvec_all'
   - 'bio_for_each_integrity_vec'
   - '__bio_for_each_segment'
   - 'bio_for_each_segment'
 
 ::
 
        bio_for_each_segment_all()
+       bio_for_each_bvec_all()
        bio_first_bvec_all()
        bio_first_page_all()
        bio_last_bvec_all()
   bio_vec' will contain a multi-page IO vector during the iteration::
 
        bio_for_each_bvec()
+       bio_for_each_bvec_all()
        rq_for_each_bvec()
 
 #define bio_for_each_bvec(bvl, bio, iter)                      \
        __bio_for_each_bvec(bvl, bio, iter, (bio)->bi_iter)
 
+/*
+ * Iterate over all multi-page bvecs. Drivers shouldn't use this version for the
+ * same reasons as bio_for_each_segment_all().
+ */
+#define bio_for_each_bvec_all(bvl, bio, i)             \
+       for (i = 0, bvl = bio_first_bvec_all(bio);      \
+            i < (bio)->bi_vcnt; i++, bvl++)            \
+
 #define bio_iter_last(bvec, iter) ((iter).bi_size == (bvec).bv_len)
 
 static inline unsigned bio_segments(struct bio *bio)