• NeilBrown's avatar
    md/raid10: handle merge_bvec_fn in member devices. · 050b6615
    NeilBrown authored
    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: default avatarNeilBrown <neilb@suse.de>
    050b6615
md.h 20.7 KB