block: Immutable bio vecs
authorKent Overstreet <kmo@daterainc.com>
Wed, 7 Aug 2013 21:26:21 +0000 (14:26 -0700)
committerKent Overstreet <kmo@daterainc.com>
Sun, 24 Nov 2013 06:33:49 +0000 (22:33 -0800)
commit4550dd6c6b062fc5e5b647296d55da22616123c3
tree9ca83cc0283151980b7c2f18c0e928aa34a2a0d9
parent7988613b0e5b2638caf6cd493cc78e9595eba19c
block: Immutable bio vecs

This adds a mechanism by which we can advance a bio by an arbitrary
number of bytes without modifying the biovec: bio->bi_iter.bi_bvec_done
indicates the number of bytes completed in the current bvec.

Various driver code still needs to be updated to not refer to the bvec
directly before we can use this for interesting things, like efficient
bio splitting.

Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Lars Ellenberg <drbd-dev@lists.linbit.com>
Cc: Paul Clements <Paul.Clements@steeleye.com>
Cc: drbd-user@lists.linbit.com
Cc: nbd-general@lists.sourceforge.net
Documentation/block/biovecs.txt [new file with mode: 0644]
drivers/block/drbd/drbd_main.c
drivers/block/nbd.c
fs/bio.c
include/linux/bio.h
include/linux/blk_types.h
include/linux/blkdev.h