They had different assumptions about the lifetime of 'st'.
Signed-off-by: NeilBrown <neilb@suse.de>
} *arrays = NULL;
for (; devlist ; devlist=devlist->next) {
- struct supertype *st = forcest;
+ struct supertype *st;
fd = dev_open(devlist->devname, O_RDONLY);
if (fd < 0) {
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,