summaryrefslogtreecommitdiff
path: root/Incremental.c
diff options
context:
space:
mode:
Diffstat (limited to 'Incremental.c')
-rw-r--r--Incremental.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Incremental.c b/Incremental.c
index fe6aad28..bcbd78d0 100644
--- a/Incremental.c
+++ b/Incremental.c
@@ -142,11 +142,13 @@ int Incremental(char *devname, int verbose, int runstop,
rv = try_spare(devname, &dfd, policy, st, verbose);
goto out;
}
- if (st->ss->load_super(st, dfd, NULL)) {
+ if (st->ss->compare_super == NULL ||
+ st->ss->load_super(st, dfd, NULL)) {
if (verbose >= 0)
fprintf(stderr, Name ": no RAID superblock on %s.\n",
devname);
rv = try_spare(devname, &dfd, policy, st, verbose);
+ free(st);
goto out;
}
close (dfd); dfd = -1;