block: Immutable bio vecs
authorKent Overstreet <kmo@daterainc.com>
Wed, 7 Aug 2013 21:26:21 +0000 (14:26 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 31 Oct 2013 14:04:49 +0000 (08:04 -0600)
commit3dbdffcc4c1ffb7d7ac631be55cd5aab3b258614
treeac8a292509f9af05c7ebf027f240d9cde88752a5
parent5d1f127c3e0c57d64ce75ee04a0db2b40a3e21df
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
Signed-off-by: Jens Axboe <axboe@kernel.dk>
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