From: NeilBrown Date: Mon, 19 Mar 2012 01:46:39 +0000 (+1100) Subject: md/raid10: handle merge_bvec_fn in member devices. X-Git-Tag: v3.4-rc1~147^2~10 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=050b66152f87c79e8d66aed0e7996f9336462d5f;p=pandora-kernel.git md/raid10: handle merge_bvec_fn in member devices. Currently we don't honour merge_bvec_fn in member devices so if there is one, we force all requests to be single-page at most. This is not ideal. So enhance the raid10 merge_bvec_fn to check that function in children as well. This introduces a small problem. There is no locking around calls the ->merge_bvec_fn and subsequent calls to ->make_request. So a device added between these could end up getting a request which violates its merge_bvec_fn. Currently the best we can do is synchronize_sched(). This will work providing no preemption happens. If there is preemption, we just have to hope that new devices are largely consistent with old devices. Signed-off-by: NeilBrown --- Reading git-diff-tree failed