From: NeilBrown Date: Tue, 14 Aug 2012 23:51:20 +0000 (+1000) Subject: Manage: zero metadata before adding to 'external' array. X-Git-Tag: mdadm-3.3-rc1~237 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9cf9a1de36ca37dfc447caf35fbe87967709c40c;p=thirdparty%2Fmdadm.git Manage: zero metadata before adding to 'external' array. '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 Signed-off-by: NeilBrown --- diff --git a/Manage.c b/Manage.c index f83af652..7f27f741 100644 --- 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;