Kent Overstreet 196d38bccf block: Generic bio chaining
This adds a generic mechanism for chaining bio completions. This is
going to be used for a bio_split() replacement, and it turns out to be
very useful in a fair amount of driver code - a fair number of drivers
were implementing this in their own roundabout ways, often painfully.

Note that this means it's no longer to call bio_endio() more than once
on the same bio! This can cause problems for drivers that save/restore
bi_end_io. Arguably they shouldn't be saving/restoring bi_end_io at all
- in all but the simplest cases they'd be better off just cloning the
bio, and immutable biovecs is making bio cloning cheaper. But for now,
we add a bio_endio_nodec() for these cases.

Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Cc: Jens Axboe <axboe@kernel.dk>
2013-11-23 22:33:56 -08:00
..
2013-10-24 23:43:27 -04:00
2013-11-23 22:33:47 -08:00
2013-11-13 12:09:12 +09:00
2013-11-23 22:33:47 -08:00
2013-11-23 22:33:47 -08:00
2013-06-29 12:56:53 +04:00
2013-11-23 22:33:47 -08:00
2013-11-23 22:33:47 -08:00
2013-10-27 16:27:07 -07:00
2013-11-23 22:33:47 -08:00
2013-11-23 22:33:47 -08:00
2013-09-16 18:20:25 -07:00
2013-11-23 22:33:47 -08:00
2013-11-23 22:33:47 -08:00
2013-11-23 22:33:47 -08:00
2013-06-29 12:56:32 +04:00
2013-11-09 00:16:32 -05:00
2013-06-29 12:56:39 +04:00
2013-06-29 12:56:29 +04:00
2013-11-23 22:33:47 -08:00
2013-11-22 08:42:14 -08:00
2013-06-29 12:57:04 +04:00
2013-10-24 23:34:54 -04:00
2013-11-23 22:33:56 -08:00
2013-11-23 22:33:56 -08:00
2013-09-13 23:06:40 -04:00
2013-11-23 22:33:47 -08:00
2013-10-24 23:34:54 -04:00
2013-06-29 12:57:05 +04:00
2013-11-23 22:33:47 -08:00
2013-09-10 18:56:31 -04:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:20 -05:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:19 -05:00
2013-11-23 22:33:47 -08:00
2013-11-09 00:16:19 -05:00
2013-10-24 23:35:00 -04:00
2013-10-24 23:34:54 -04:00
2013-10-24 23:34:54 -04:00
2013-10-24 23:34:54 -04:00
2013-11-09 00:16:31 -05:00
2013-11-09 00:16:20 -05:00