]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Fix up analysis of reshape from RAID1 to RAID5.
authorNeilBrown <neilb@suse.de>
Thu, 20 Jan 2011 22:13:44 +0000 (09:13 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 20 Jan 2011 22:13:44 +0000 (09:13 +1100)
Need to allow raid-disks to change at the same time.

NeilBrown <neilb@suse.de>

Grow.c

diff --git a/Grow.c b/Grow.c
index 29477405ec383a1967323d3919814435606af1a0..d0df6bd59650d10ea9155834cb0a94372643273f 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -928,14 +928,12 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
                        return NULL;
                }
                if (info->array.raid_disks == 2 &&
-                   info->array.raid_disks == 5) {
-                       /* simple in-place conversion */
+                   info->new_level == 5) {
                        re->level = 5;
-                       re->parity = 1;
                        re->before.data_disks = 1;
                        re->before.layout = ALGORITHM_LEFT_SYMMETRIC;
-                       re->backup_blocks = 0;
-                       return NULL;
+                       info->array.chunk_size = 65536;
+                       break;
                }
                /* Could do some multi-stage conversions, but leave that to
                 * later.
@@ -1224,7 +1222,7 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
                return NULL;
        }
        if (re->after.data_disks == 1 && re->before.data_disks == 1) {
-               /* chunks can layout changes make no difference */
+               /* chunk and layout changes make no difference */
                re->backup_blocks = 0;
                return NULL;
        }