summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2008-05-15 15:50:48 +1000
committerNeil Brown <neilb@suse.de>2008-05-15 15:50:48 +1000
commitff1f6545dba0cc2e8c9561cf10de236579d6f58c (patch)
treec02cc7f86629c58d823c3c63cd462d6f79cbdfd7
parent294d6f450f79fda5475e6e5c99b7be85393f03c6 (diff)
downloadmdadm-ff1f6545dba0cc2e8c9561cf10de236579d6f58c.tar.gz
mdadm-ff1f6545dba0cc2e8c9561cf10de236579d6f58c.tar.xz
mdadm-ff1f6545dba0cc2e8c9561cf10de236579d6f58c.zip
Fix support for --update=swapsuper
The user of dup_super broke it.
-rw-r--r--super0.c3
-rw-r--r--util.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/super0.c b/super0.c
index f2d6d63..7e81482 100644
--- a/super0.c
+++ b/super0.c
@@ -856,7 +856,8 @@ static struct supertype *match_metadata_desc0(char *arg)
return st;
st->minor_version = 9; /* flag for 'byte-swapped' */
- if (strcmp(arg, "0.swap")==0)
+ if (strcmp(arg, "0.swap")==0 ||
+ strcmp(arg, "0.9") == 0) /* For dup_super support */
return st;
free(st);
diff --git a/util.c b/util.c
index 1ad6fd0..6efb88a 100644
--- a/util.c
+++ b/util.c
@@ -781,7 +781,8 @@ struct supertype *dup_super(struct supertype *st)
for (i = 0; stnew == NULL && superlist[i] ; i++)
stnew = superlist[i]->match_metadata_desc(verstr);
- stnew->sb = NULL;
+ if (stnew)
+ stnew->sb = NULL;
return stnew;
}