]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - Manage.c
Support external metadata recovery-resume
[thirdparty/mdadm.git] / Manage.c
index 6b8cff48c333a69e0ad07659d39bd7de72c0c41d..df6079bf16afbe5fee96c82bbce5a32d564ec82d 100644 (file)
--- a/Manage.c
+++ b/Manage.c
@@ -578,6 +578,12 @@ int Manage_subdevs(char *devname, int fd,
                                                /* fall back on normal-add */
                                        }
                                }
+                               if (dv->re_add) {
+                                       fprintf(stderr, Name
+                                               ": --re-add for %s to %s is not possible\n",
+                                               dv->devname, devname);
+                                       return 1;
+                               }
                        } else {
                                /* non-persistent. Must ensure that new drive
                                 * is at least array.size big.
@@ -690,6 +696,7 @@ int Manage_subdevs(char *devname, int fd,
                                tst->ss->getinfo_super(tst, &new_mdi);
                                new_mdi.disk.major = disc.major;
                                new_mdi.disk.minor = disc.minor;
+                               new_mdi.recovery_start = 0;
                                if (sysfs_add_disk(sra, &new_mdi, 0) != 0) {
                                        fprintf(stderr, Name ": add new device to external metadata"
                                                " failed for %s\n", dv->devname);