md/raid5: split bio for chunk_aligned_read
authorMing Lin <ming.l@ssi.samsung.com>
Thu, 7 May 2015 05:51:24 +0000 (22:51 -0700)
committerJens Axboe <axboe@fb.com>
Thu, 13 Aug 2015 18:31:51 +0000 (12:31 -0600)
commit7ef6b12a1966f273afb750e19e1e8129bea48fec
treeb55c76f78bfe553966c2a07fe47ef8f0e94c4f77
parentb49a0871be31a745b2ef7912653683a1876ff701
md/raid5: split bio for chunk_aligned_read

If a read request fits entirely in a chunk, it will be passed directly to the
underlying device (providing it hasn't failed of course).  If it doesn't fit,
the slightly less efficient path that uses the stripe_cache is used.
Requests that get to the stripe cache are always completely split up as
necessary.

So with RAID5, ripping out the merge_bvec_fn doesn't cause it to stop work,
but could cause it to take the less efficient path more often.

All that is needed to manage this is for 'chunk_aligned_read' do some bio
splitting, much like the RAID0 code does.

Cc: Neil Brown <neilb@suse.de>
Cc: linux-raid@vger.kernel.org
Acked-by: NeilBrown <neilb@suse.de>
Signed-off-by: Ming Lin <ming.l@ssi.samsung.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/md/raid5.c