summaryrefslogtreecommitdiffstats
path: root/Assemble.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-07-06 11:57:09 +1000
committerNeilBrown <neilb@suse.de>2010-07-06 11:57:09 +1000
commite5c99c0811199a734ed0fe41784d22230922a49a (patch)
tree38312d403d91cfdc3f1ae20ff26139551a221497 /Assemble.c
parentb3b4e8a7a229cccca915421329a5319f996b0842 (diff)
downloadmdadm-e5c99c0811199a734ed0fe41784d22230922a49a.tar.gz
mdadm-e5c99c0811199a734ed0fe41784d22230922a49a.tar.xz
mdadm-e5c99c0811199a734ed0fe41784d22230922a49a.zip
Assemble: Fix honouring of 'auto' config line
commit 1ff98339283645a20c980d540f6c4d82693e7daf broke the checking of metadata types via the 'auto' line. Be moving 'load_super" before "conf_test_metadata" we left tst->sb set even if conf_test_metadata fails, so the device will actually be accepted and used. So if we decide to reject the device, free the superblock so it is clear that it is rejected. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Assemble.c')
-rw-r--r--Assemble.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Assemble.c b/Assemble.c
index 1504f1f..c5d28ed 100644
--- a/Assemble.c
+++ b/Assemble.c
@@ -271,6 +271,7 @@ int Assemble(struct supertype *st, char *mddev,
fprintf(stderr, Name ": %s has metadata type %s for which "
"auto-assembly is disabled\n",
devname, tst->ss->name);
+ tst->ss->free_super(tst);
tmpdev->used = 2;
} else {
content = &info;