]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Manage: zero metadata before adding to 'external' array.
authorNeilBrown <neilb@suse.de>
Thu, 27 Sep 2012 06:57:08 +0000 (16:57 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 27 Sep 2012 06:57:08 +0000 (16:57 +1000)
'external' arrays don't support --re-add yet so old metadata is no
value, and 'ddf' gets confusing in mdmon if old metadata is found.
So for now, zero out any old metadata found before adding a spare to
an externally-managed array.

Reported-by: Albert Pauw <albert.pauw@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Manage.c

index 95aa2704bcccae60e3d65b1c2ff1da313a1ec89f..ab4bb75eee1b17e95f2251bc767c48373e66282a 100644 (file)
--- a/Manage.c
+++ b/Manage.c
@@ -1003,6 +1003,7 @@ int Manage_subdevs(char *devname, int fd,
                                        goto abort;
                                }
 
+                               Kill(dv->devname, NULL, 0, -1, 0);
                                dfd = dev_open(dv->devname, O_RDWR | O_EXCL|O_DIRECT);
                                if (mdmon_running(tst->container_dev))
                                        tst->update_tail = &tst->updates;