Re: [PATCH 07/10] block: kill merge_bvec_fn() completely

From: NeilBrown
Date: Tue Apr 28 2015 - 18:09:44 EST


On Mon, 27 Apr 2015 23:48:34 -0700 Ming Lin <mlin@xxxxxxxxxx> wrote:

> From: Kent Overstreet <kent.overstreet@xxxxxxxxx>
>
> As generic_make_request() is now able to handle arbitrarily sized bios,
> it's no longer necessary for each individual block driver to define its
> own ->merge_bvec_fn() callback. Remove every invocation completely.

This patch it just a little premature I think.

md/raid5 still assumes read requests will mostly fit within a single chunk
(which merge_bvec_fn encourages) so they can be serviced without using the
stripe-cache.
You've just broken that assumption.

I think 'chunk_aligned_read' needs to get a loop using bio_split, a bit like
raid0, first.

Thanks,
NeilBrown

Attachment: pgpX3hTuhiKc2.pgp
Description: OpenPGP digital signature