summaryrefslogtreecommitdiffstats
path: root/Assemble.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-01-27 01:44:47 +0000
committerNeil Brown <neilb@suse.de>2006-01-27 01:44:47 +0000
commit838acbc2724c57f9dc1facec201d20f09a81d375 (patch)
tree1a677a68c68492d43e7c870cd3193bd79fa35642 /Assemble.c
parentd2cd3ffc026ae8dbc09d5243ec60694afe26e81b (diff)
downloadmdadm-838acbc2724c57f9dc1facec201d20f09a81d375.tar.gz
mdadm-838acbc2724c57f9dc1facec201d20f09a81d375.tar.xz
mdadm-838acbc2724c57f9dc1facec201d20f09a81d375.zip
Assorted fixes...
Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'Assemble.c')
-rw-r--r--Assemble.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Assemble.c b/Assemble.c
index 0555854..cc906db 100644
--- a/Assemble.c
+++ b/Assemble.c
@@ -219,7 +219,7 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
}
if (dfd >= 0) close(dfd);
- if (ident->uuid_set && (!update && strcmp(update, "uuid")!= 0) &&
+ if (ident->uuid_set && (!update || strcmp(update, "uuid")!= 0) &&
(!super || same_uuid(info.uuid, ident->uuid, tst->ss->swapuuid)==0)) {
if ((inargv && verbose >= 0) || verbose > 0)
fprintf(stderr, Name ": %s has wrong uuid.\n",
@@ -266,6 +266,8 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
free(first_super);
return 1;
}
+
+
st = tst; /* commit to this format, if haven't already */
if (st->ss->compare_super(&first_super, super)) {
fprintf(stderr, Name ": superblock on %s doesn't match others - assembly aborted\n",