bounce: Refactor __blk_queue_bounce to not use bi_io_vec
authorKent Overstreet <koverstreet@google.com>
Mon, 10 Sep 2012 21:30:37 +0000 (14:30 -0700)
committerKent Overstreet <koverstreet@google.com>
Sat, 23 Mar 2013 21:26:26 +0000 (14:26 -0700)
commit6bc454d150047fcfbf53346412e64cdf3bf61a79
tree149f1c376d000053244867e3f72d48ef1bf1c563
parentd3b45c2a056c5df443d1ddf27fbfada65f234af1
bounce: Refactor __blk_queue_bounce to not use bi_io_vec

A bunch of what __blk_queue_bounce() was doing was problematic for the
immutable bvec work; this cleans that up and the code is quite a bit
smaller, too.

The __bio_for_each_segment() in copy_to_high_bio_irq() was changed
because that one's looping over the original bio, not the bounce bio -
a later patch renames __bio_for_each_segment() ->
bio_for_each_segment_all(), and documents that
bio_for_each_segment_all() is only for code that owns the bio.

Signed-off-by: Kent Overstreet <koverstreet@google.com>
CC: Jens Axboe <axboe@kernel.dk>
mm/bounce.c