Commit 80268ee9 authored by NeilBrown's avatar NeilBrown

md: Don't try to set an array to 'read-auto' if it is already in that state.

'read-auto' is a variant of 'readonly' which will switch to writable
on the first write attempt.

Calling do_md_stop to set the array readonly when it is already readonly
returns an error.  So make sure not to do that.
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent ea43ddd8
...@@ -2725,9 +2725,9 @@ array_state_store(mddev_t *mddev, const char *buf, size_t len) ...@@ -2725,9 +2725,9 @@ array_state_store(mddev_t *mddev, const char *buf, size_t len)
break; break;
case read_auto: case read_auto:
if (mddev->pers) { if (mddev->pers) {
if (mddev->ro != 1) if (mddev->ro == 0)
err = do_md_stop(mddev, 1, 0); err = do_md_stop(mddev, 1, 0);
else else if (mddev->ro == 1)
err = restart_array(mddev); err = restart_array(mddev);
if (err == 0) { if (err == 0) {
mddev->ro = 2; mddev->ro = 2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment