From: NeilBrown Date: Thu, 20 Jan 2011 22:13:44 +0000 (+1100) Subject: Fix up analysis of reshape from RAID1 to RAID5. X-Git-Tag: mdadm-3.2~61 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=446d2a5ad48671be2e23676d9ea93af1b8dddf0b;p=thirdparty%2Fmdadm.git Fix up analysis of reshape from RAID1 to RAID5. Need to allow raid-disks to change at the same time. NeilBrown --- diff --git a/Grow.c b/Grow.c index 29477405..d0df6bd5 100644 --- 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; }