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: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2008-10-13 11:55:12 +11:00
parent ea43ddd849
commit 80268ee927

View File

@ -2725,9 +2725,9 @@ array_state_store(mddev_t *mddev, const char *buf, size_t len)
break;
case read_auto:
if (mddev->pers) {
if (mddev->ro != 1)
if (mddev->ro == 0)
err = do_md_stop(mddev, 1, 0);
else
else if (mddev->ro == 1)
err = restart_array(mddev);
if (err == 0) {
mddev->ro = 2;