aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 86adf4ac46cf..4c9836885d3e 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -402,6 +402,7 @@ void mddev_resume(struct mddev *mddev)
402 wake_up(&mddev->sb_wait); 402 wake_up(&mddev->sb_wait);
403 mddev->pers->quiesce(mddev, 0); 403 mddev->pers->quiesce(mddev, 0);
404 404
405 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
405 md_wakeup_thread(mddev->thread); 406 md_wakeup_thread(mddev->thread);
406 md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */ 407 md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */
407} 408}
@@ -3673,10 +3674,8 @@ level_store(struct mddev *mddev, const char *buf, size_t len)
3673 del_timer_sync(&mddev->safemode_timer); 3674 del_timer_sync(&mddev->safemode_timer);
3674 } 3675 }
3675 pers->run(mddev); 3676 pers->run(mddev);
3676 mddev_resume(mddev);
3677 set_bit(MD_CHANGE_DEVS, &mddev->flags); 3677 set_bit(MD_CHANGE_DEVS, &mddev->flags);
3678 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); 3678 mddev_resume(mddev);
3679 md_wakeup_thread(mddev->thread);
3680 sysfs_notify(&mddev->kobj, NULL, "level"); 3679 sysfs_notify(&mddev->kobj, NULL, "level");
3681 md_new_event(mddev); 3680 md_new_event(mddev);
3682 return rv; 3681 return rv;