]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Incremental: fix adding devices with --incremental
authorNeilBrown <neilb@suse.de>
Thu, 22 Mar 2012 04:53:53 +0000 (15:53 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 22 Mar 2012 04:53:53 +0000 (15:53 +1100)
We should use 'info' here, not 'info2'.
info2 refers to some other device (There may not even be one).l
info is *this* disk.

This is particularly important for getting info.disk.state
correct, which the kernel depends on to get 're-add' functionality
correct.

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

index 836a6f1f5b4fce9aad89c8df717357e84b5d19bb..a61f45336aa58c7b59309ca55fd3fe8ab27f921e 100644 (file)
@@ -414,19 +414,19 @@ int Incremental(char *devname, int verbose, int runstop,
                                goto out_unlock;
                        }
                }
-               info2.disk.major = major(stb.st_rdev);
-               info2.disk.minor = minor(stb.st_rdev);
+               info.disk.major = major(stb.st_rdev);
+               info.disk.minor = minor(stb.st_rdev);
                /* add disk needs to know about containers */
                if (st->ss->external)
                        sra->array.level = LEVEL_CONTAINER;
-               err = add_disk(mdfd, st, sra, &info2);
+               err = add_disk(mdfd, st, sra, &info);
                if (err < 0 && errno == EBUSY) {
                        /* could be another device present with the same
                         * disk.number. Find and reject any such
                         */
                        find_reject(mdfd, st, sra, info.disk.number,
                                    info.events, verbose, chosen_name);
-                       err = add_disk(mdfd, st, sra, &info2);
+                       err = add_disk(mdfd, st, sra, &info);
                }
                if (err < 0) {
                        fprintf(stderr, Name ": failed to add %s to %s: %s.\n",