• NeilBrown's avatar
    md: remove unneeded sysfs files more promptly · 82f2fa7b
    NeilBrown authored
    commit b6eb127d upstream.
    
    When an array is stopped we need to remove some
    sysfs files which are dependent on the type of array.
    
    We need to delay that deletion as deleting them while holding
    reconfig_mutex can lead to deadlocks.
    
    We currently delay them until the array is completely destroyed.
    However it is possible to deactivate and then reactivate the array.
    It is also possible to need to remove sysfs files when changing level,
    which can potentially happen several times before an array is
    destroyed.
    
    So we need to delete these files more promptly: as soon as
    reconfig_mutex is dropped.
    
    We need to ensure this happens before do_md_run can restart the array,
    so we use open_mutex for some extra locking.  This is not deadlock
    prone.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    82f2fa7b
md.c 185 KB