diff options
author | Neil Brown <neilb@suse.de> | 2006-01-27 01:44:47 +0000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2006-01-27 01:44:47 +0000 |
commit | 838acbc2724c57f9dc1facec201d20f09a81d375 (patch) | |
tree | 1a677a68c68492d43e7c870cd3193bd79fa35642 /Assemble.c | |
parent | d2cd3ffc026ae8dbc09d5243ec60694afe26e81b (diff) | |
download | mdadm-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.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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", |