summaryrefslogtreecommitdiffstats
path: root/Documentation/block
diff options
context:
space:
mode:
authorDongsu Park <dpark@posteo.net>2014-12-19 14:53:03 +0100
committerJens Axboe <axboe@fb.com>2015-08-13 12:32:07 -0600
commit2ec3182f9c20a9eef0dacc0512cf2ca2df7be5ad (patch)
tree3d91f9da9ee949c20ae0ae6fa23b62d44c5a69e0 /Documentation/block
parentb54ffb73cadcdcff9cc1ae0e11f502407e3e2e4c (diff)
downloadlinux-stable-2ec3182f9c20a9eef0dacc0512cf2ca2df7be5ad.tar.gz
linux-stable-2ec3182f9c20a9eef0dacc0512cf2ca2df7be5ad.tar.bz2
linux-stable-2ec3182f9c20a9eef0dacc0512cf2ca2df7be5ad.zip
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>
Diffstat (limited to 'Documentation/block')
-rw-r--r--Documentation/block/biovecs.txt10
1 files changed, 9 insertions, 1 deletions
diff --git a/Documentation/block/biovecs.txt b/Documentation/block/biovecs.txt
index 74a32ad52f53..25689584e6e0 100644
--- a/Documentation/block/biovecs.txt
+++ b/Documentation/block/biovecs.txt
@@ -24,7 +24,7 @@ particular, presenting the illusion of partially completed biovecs so that
normal code doesn't have to deal with bi_bvec_done.
* Driver code should no longer refer to biovecs directly; we now have
- bio_iovec() and bio_iovec_iter() macros that return literal struct biovecs,
+ bio_iovec() and bio_iter_iovec() macros that return literal struct biovecs,
constructed from the raw biovecs but taking into account bi_bvec_done and
bi_size.
@@ -109,3 +109,11 @@ Other implications:
over all the biovecs in the new bio - which is silly as it's not needed.
So, don't use bi_vcnt anymore.
+
+ * The current interface allows the block layer to split bios as needed, so we
+ could eliminate a lot of complexity particularly in stacked drivers. Code
+ that creates bios can then create whatever size bios are convenient, and
+ more importantly stacked drivers don't have to deal with both their own bio
+ size limitations and the limitations of the underlying devices. Thus
+ there's no need to define ->merge_bvec_fn() callbacks for individual block
+ drivers.