Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Documentation: update notes in biovecs about arbitrarily sized bios

Update block/biovecs.txt so that it includes a note on what kind of
effects arbitrarily sized bios would bring to the block layer.
Also fix a trivial typo, bio_iter_iovec.

Cc: Christoph Hellwig <hch@infradead.org>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org
Signed-off-by: Dongsu Park <dpark@posteo.net>
Signed-off-by: Ming Lin <ming.l@ssi.samsung.com>
Signed-off-by: Jens Axboe <axboe@fb.com>

authored by

Dongsu Park and committed by
Jens Axboe
2ec3182f b54ffb73

+9 -1
+9 -1
Documentation/block/biovecs.txt
··· 24 24 normal code doesn't have to deal with bi_bvec_done. 25 25 26 26 * Driver code should no longer refer to biovecs directly; we now have 27 - bio_iovec() and bio_iovec_iter() macros that return literal struct biovecs, 27 + bio_iovec() and bio_iter_iovec() macros that return literal struct biovecs, 28 28 constructed from the raw biovecs but taking into account bi_bvec_done and 29 29 bi_size. 30 30 ··· 109 109 over all the biovecs in the new bio - which is silly as it's not needed. 110 110 111 111 So, don't use bi_vcnt anymore. 112 + 113 + * The current interface allows the block layer to split bios as needed, so we 114 + could eliminate a lot of complexity particularly in stacked drivers. Code 115 + that creates bios can then create whatever size bios are convenient, and 116 + more importantly stacked drivers don't have to deal with both their own bio 117 + size limitations and the limitations of the underlying devices. Thus 118 + there's no need to define ->merge_bvec_fn() callbacks for individual block 119 + drivers.