aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/block
diff options
context:
space:
mode:
authorDongsu Park <dpark@posteo.net>2014-12-19 08:53:03 -0500
committerJens Axboe <axboe@fb.com>2015-08-13 14:32:07 -0400
commit2ec3182f9c20a9eef0dacc0512cf2ca2df7be5ad (patch)
tree3d91f9da9ee949c20ae0ae6fa23b62d44c5a69e0 /Documentation/block
parentb54ffb73cadcdcff9cc1ae0e11f502407e3e2e4c (diff)
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
24normal code doesn't have to deal with bi_bvec_done. 24normal code doesn't have to deal with bi_bvec_done.
25 25
26 * Driver code should no longer refer to biovecs directly; we now have 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 constructed from the raw biovecs but taking into account bi_bvec_done and 28 constructed from the raw biovecs but taking into account bi_bvec_done and
29 bi_size. 29 bi_size.
30 30
@@ -109,3 +109,11 @@ Other implications:
109 over all the biovecs in the new bio - which is silly as it's not needed. 109 over all the biovecs in the new bio - which is silly as it's not needed.
110 110
111 So, don't use bi_vcnt anymore. 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.