]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Set reshape.after.data_disks for raid0<->raid10 takeover
authorKrzysztof Wojcik <krzysztof.wojcik@intel.com>
Mon, 17 Jan 2011 01:53:31 +0000 (12:53 +1100)
committerNeilBrown <neilb@suse.de>
Mon, 17 Jan 2011 01:53:31 +0000 (12:53 +1100)
reshape.after.data_disks field must be initiated
for raid0<->raid10 transition.
Instead calculated spares_needed variable in reshape_array
function has random value.

Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Grow.c

diff --git a/Grow.c b/Grow.c
index 447e87e5940c2d68554b68d1f1b9973cdee9ac51..e9a26749a893c454223cb46d07ea80ea22d55800 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -970,6 +970,7 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
                re->level = 0;
                re->parity = 0;
                re->before.data_disks = new_disks;
+               re->after.data_disks = re->before.data_disks;
                re->before.layout = 0;
                re->backup_blocks = 0;
                return NULL;
@@ -1007,6 +1008,7 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
                        re->parity = 0;
                        re->before.data_disks = (info->array.raid_disks +
                                                 info->delta_disks);
+                       re->after.data_disks = re->before.data_disks;
                        re->before.layout = info->new_layout;
                        re->backup_blocks = 0;
                        return NULL;