diff options
Diffstat (limited to 'drivers/md/md.c')
| -rw-r--r-- | drivers/md/md.c | 14 | 
1 files changed, 5 insertions, 9 deletions
| diff --git a/drivers/md/md.c b/drivers/md/md.c index 8273ac5eef06..c7ecb0bffda0 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -4831,7 +4831,7 @@ action_store(struct mddev *mddev, const char *page, size_t len)  				flush_workqueue(md_misc_wq);  			if (mddev->sync_thread) {  				set_bit(MD_RECOVERY_INTR, &mddev->recovery); -				md_reap_sync_thread(mddev, true); +				md_reap_sync_thread(mddev);  			}  			mddev_unlock(mddev);  		} @@ -6197,7 +6197,7 @@ static void __md_stop_writes(struct mddev *mddev)  		flush_workqueue(md_misc_wq);  	if (mddev->sync_thread) {  		set_bit(MD_RECOVERY_INTR, &mddev->recovery); -		md_reap_sync_thread(mddev, true); +		md_reap_sync_thread(mddev);  	}  	del_timer_sync(&mddev->safemode_timer); @@ -9303,7 +9303,7 @@ void md_check_recovery(struct mddev *mddev)  			 * ->spare_active and clear saved_raid_disk  			 */  			set_bit(MD_RECOVERY_INTR, &mddev->recovery); -			md_reap_sync_thread(mddev, true); +			md_reap_sync_thread(mddev);  			clear_bit(MD_RECOVERY_RECOVER, &mddev->recovery);  			clear_bit(MD_RECOVERY_NEEDED, &mddev->recovery);  			clear_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags); @@ -9338,7 +9338,7 @@ void md_check_recovery(struct mddev *mddev)  			goto unlock;  		}  		if (mddev->sync_thread) { -			md_reap_sync_thread(mddev, true); +			md_reap_sync_thread(mddev);  			goto unlock;  		}  		/* Set RUNNING before clearing NEEDED to avoid @@ -9411,18 +9411,14 @@ void md_check_recovery(struct mddev *mddev)  }  EXPORT_SYMBOL(md_check_recovery); -void md_reap_sync_thread(struct mddev *mddev, bool reconfig_mutex_held) +void md_reap_sync_thread(struct mddev *mddev)  {  	struct md_rdev *rdev;  	sector_t old_dev_sectors = mddev->dev_sectors;  	bool is_reshaped = false; -	if (reconfig_mutex_held) -		mddev_unlock(mddev);  	/* resync has finished, collect result */  	md_unregister_thread(&mddev->sync_thread); -	if (reconfig_mutex_held) -		mddev_lock_nointr(mddev);  	if (!test_bit(MD_RECOVERY_INTR, &mddev->recovery) &&  	    !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery) &&  	    mddev->degraded != mddev->raid_disks) { | 
