• N
    md: fix another deadlock with removing sysfs attributes. · bb4f1e9d
    NeilBrown 提交于
    Move the deletion of sysfs attributes from reconfig_mutex to
    open_mutex didn't really help as a process can try to take
    open_mutex while holding reconfig_mutex, so the same deadlock can
    happen, just requiring one more process to be involved in the chain.
    
    I looks like I cannot easily use locking to wait for the sysfs
    deletion to complete, so don't.
    
    The only things that we cannot do while the deletions are still
    pending is other things which can change the sysfs namespace: run,
    takeover, stop.  Each of these can fail with -EBUSY.
    So set a flag while doing a sysfs deletion, and fail run, takeover,
    stop if that flag is set.
    
    This is suitable for 2.6.35.x
    
    Cc: stable@kernel.org
    Signed-off-by: NNeilBrown <neilb@suse.de>
    bb4f1e9d
md.c 190.4 KB