linux/drivers/md/bcache
Kent Overstreet 20d0189b10 block: Introduce new bio_split()
The new bio_split() can split arbitrary bios - it's not restricted to
single page bios, like the old bio_split() (previously renamed to
bio_pair_split()). It also has different semantics - it doesn't allocate
a struct bio_pair, leaving it up to the caller to handle completions.

Then convert the existing bio_pair_split() users to the new bio_split()
- and also nvme, which was open coding bio splitting.

(We have to take that BUG_ON() out of bio_integrity_trim() because this
bio_split() needs to use it, and there's no reason it has to be used on
bios marked as cloned; BIO_CLONED doesn't seem to have clearly
documented semantics anyways.)

Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Neil Brown <neilb@suse.de>
2013-11-23 22:33:57 -08:00
..
alloc.c bcache: Don't bother with bucket refcount for btree node allocations 2013-11-10 21:56:34 -08:00
bcache.h block: Introduce new bio_split() 2013-11-23 22:33:57 -08:00
bset.c bcache: Delete some slower inline asm 2013-11-10 21:56:42 -08:00
bset.h bcache: Kill bch_next_recurse_key() 2013-11-10 21:56:39 -08:00
btree.c block: Convert bio_for_each_segment() to bvec_iter 2013-11-23 22:33:49 -08:00
btree.h bcache: Avoid deadlocking in garbage collection 2013-11-10 21:56:38 -08:00
closure.c bcache: Drop some closure stuff 2013-11-10 21:56:10 -08:00
closure.h bcache: Drop some closure stuff 2013-11-10 21:56:10 -08:00
debug.c block: Convert bio_for_each_segment() to bvec_iter 2013-11-23 22:33:49 -08:00
debug.h bcache: Bypass torture test 2013-11-10 21:56:43 -08:00
io.c block: Introduce new bio_split() 2013-11-23 22:33:57 -08:00
journal.c block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
journal.h bcache: Pull on disk data structures out into a separate header 2013-11-10 21:56:33 -08:00
Kconfig bcache: Debug code improvements 2013-11-10 21:56:34 -08:00
Makefile bcache: A block layer cache 2013-03-23 16:11:31 -07:00
movinggc.c block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
request.c block: Introduce new bio_split() 2013-11-23 22:33:57 -08:00
request.h bcache: Move sector allocator to alloc.c 2013-11-10 21:56:32 -08:00
stats.c bcache: Break up struct search 2013-11-10 21:56:32 -08:00
stats.h bcache: Break up struct search 2013-11-10 21:56:32 -08:00
super.c block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
sysfs.c bcache: Bypass torture test 2013-11-10 21:56:43 -08:00
sysfs.h bcache: Don't export utility code, prefix with bch_ 2013-03-28 12:50:55 -06:00
trace.c bcache: Break up struct search 2013-11-10 21:56:32 -08:00
util.c block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
util.h bcache: Move spinlock into struct time_stats 2013-11-10 21:56:40 -08:00
writeback.c block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
writeback.h block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00