]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Grow: fix bug in raid0 -> raid5 conversion.
authorNeilBrown <neilb@suse.de>
Tue, 25 Jun 2013 05:52:58 +0000 (15:52 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 25 Jun 2013 05:52:58 +0000 (15:52 +1000)
The moment we change a RAID0 to a RAID5 it will try to recovery.  This
will abort quite quickly as there are not spare devices, but it could
confuse the attempt to freeze the array.

So allow 'freeze' to work even on a recovering array.

Signed-off-by: NeilBrown <neilb@suse.de>
sysfs.c

diff --git a/sysfs.c b/sysfs.c
index 5512a302001d587f0e82a3bfe52c77e478de5d5d..cde8f1970de6c4e98002ea940727dec7f4cdc82c 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -838,7 +838,7 @@ int sysfs_freeze_array(struct mdinfo *sra)
        if (strcmp(buf, "frozen\n") == 0)
                /* Already frozen */
                return 0;
-       if (strcmp(buf, "idle\n") != 0)
+       if (strcmp(buf, "idle\n") != 0 && strcmp(buf, "recover\n") != 0)
                return -1;
        if (sysfs_set_str(sra, NULL, "sync_action", "frozen") < 0)
                return 0;