Lines Matching refs:and

2 Immutable biovecs and biovec iterators:
12 update bi_sector and bi_size, and advance bi_idx to the next biovec. If it
13 ended up partway through a biovec, it would increment bv_offset and decrement
18 bi_size and bi_idx have been moved there; and instead of modifying bv_offset
19 and bv_len, struct bvec_iter has bi_bvec_done, which represents the number of
27 bio_iovec() and bio_iovec_iter() macros that return literal struct biovecs,
28 constructed from the raw biovecs but taking into account bi_bvec_done and
37 wrapper around bio_advance_iter() that operates on bio->bi_iter, and also
46 Having a real iterator, and making biovecs immutable, has a number of
53 it had to walk two different bios at the same time, keeping both bi_idx and
54 and offset into the current biovec for each.
58 coding bvec iterators before, and having common implementation considerably
67 arbitrary range of an existing biovec, both starting and ending midway
70 reached the end of a bio, not bi_vcnt - and the bio_iovec() macro takes
82 occasionally in stacking block drivers and various code (e.g. md and
87 norm, not all drivers would respect bi_idx and those would break. Now,
88 since all drivers _must_ go through the bvec iterator - and have been
95 * Almost all usage of bi_idx is now incorrect and has been removed; instead,
100 now use bio_iter_iovec(), which takes a bvec_iter and returns a
102 taking into account bi_bvec_done (and bi_size).
107 Secondly, when cloning a bio and reusing (a portion of) the original bio's