diff options
-rw-r--r-- | drivers/md/md.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 7564c44b8045..200d0862335f 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -4259,6 +4259,13 @@ action_store(struct mddev *mddev, const char *page, size_t len) | |||
4259 | set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery); | 4259 | set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery); |
4260 | set_bit(MD_RECOVERY_SYNC, &mddev->recovery); | 4260 | set_bit(MD_RECOVERY_SYNC, &mddev->recovery); |
4261 | } | 4261 | } |
4262 | if (mddev->ro == 2) { | ||
4263 | /* A write to sync_action is enough to justify | ||
4264 | * canceling read-auto mode | ||
4265 | */ | ||
4266 | mddev->ro = 0; | ||
4267 | md_wakeup_thread(mddev->sync_thread); | ||
4268 | } | ||
4262 | set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); | 4269 | set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); |
4263 | md_wakeup_thread(mddev->thread); | 4270 | md_wakeup_thread(mddev->thread); |
4264 | sysfs_notify_dirent_safe(mddev->sysfs_action); | 4271 | sysfs_notify_dirent_safe(mddev->sysfs_action); |