From: NeilBrown Date: Fri, 10 Jul 2009 00:44:32 +0000 (+1000) Subject: Examine: make --metadata= work with --brief X-Git-Tag: mdadm-3.0.1~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ea2b5ef1be03802f34537330884cdaf72494b01;p=thirdparty%2Fmdadm.git Examine: make --metadata= work with --brief They had different assumptions about the lifetime of 'st'. Signed-off-by: NeilBrown --- diff --git a/Examine.c b/Examine.c index f0e98f97..46fee950 100644 --- a/Examine.c +++ b/Examine.c @@ -63,7 +63,7 @@ int Examine(mddev_dev_t devlist, int brief, int export, int scan, } *arrays = NULL; for (; devlist ; devlist=devlist->next) { - struct supertype *st = forcest; + struct supertype *st; fd = dev_open(devlist->devname, O_RDONLY); if (fd < 0) { @@ -75,7 +75,9 @@ int Examine(mddev_dev_t devlist, int brief, int export, int scan, err = 1; } else { - if (!st) + if (forcest) + st = dup_super(forcest); + else st = guess_super(fd); if (st) err = st->ss->load_super(st, fd,