From: NeilBrown Date: Mon, 19 Mar 2012 01:46:39 +0000 (+1100) Subject: md/raid1: handle merge_bvec_fn in member devices. X-Git-Tag: v3.4-rc1~147^2~9 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b740b8d79252f13bcb7e5d3c1d43157e78a81e7;p=pandora-kernel.git md/raid1: 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 create a raid1 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 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