]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Create: fix regression in setting raid_disk
authorNeilBrown <neilb@suse.com>
Thu, 14 Jan 2016 02:22:17 +0000 (13:22 +1100)
committerNeilBrown <neilb@suse.com>
Thu, 14 Jan 2016 02:22:17 +0000 (13:22 +1100)
Recent commit caused 'missing' declarations to not be handled correctly.

Fixes: cc1799c3ddc9 ("Enable create array with write journal (--write-journal DEVICE).")
Signed-off-by: NeilBrown <neilb@suse.com>
Create.c

index 21d13747a44bd8977c93e9a1cec42076e3c592ee..40f1b7ea81be67015570ad0c4eefb067c162a245 100644 (file)
--- a/Create.c
+++ b/Create.c
@@ -851,11 +851,14 @@ int Create(struct supertype *st, char *mddev,
                        if (dnum >= total_slots)
                                abort();
                        if (dnum == insert_point) {
+                               raid_disk_num += 1;
                                moved_disk = dv;
                                continue;
                        }
-                       if (strcasecmp(dv->devname, "missing")==0)
+                       if (strcasecmp(dv->devname, "missing")==0) {
+                               raid_disk_num += 1;
                                continue;
+                       }
                        if (have_container)
                                moved_disk = NULL;
                        if (have_container && dnum < info.array.raid_disks - 1)