]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Manage: zero metadata before adding to 'external' array.
authorNeilBrown <neilb@suse.de>
Tue, 14 Aug 2012 23:51:20 +0000 (09:51 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 14 Aug 2012 23:51:20 +0000 (09:51 +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 f83af6520ec5b51aa2127f5ca969e4767294b4aa..7f27f7413691cef4473efd0b36518513e849fc79 100644 (file)
--- a/Manage.c
+++ b/Manage.c
@@ -786,6 +786,7 @@ int Manage_add(int fd, int tfd, struct mddev_dev *dv,
                        return -1;
                }
 
+               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;