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); |
