diff options
author | NeilBrown <neilb@suse.de> | 2009-05-11 15:18:25 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-05-11 15:18:25 +1000 |
commit | aa7c284c06ba046039f60ceb4e3fb422967d354f (patch) | |
tree | f376b9893040f75ec50f6f9346de6529880bf97b | |
parent | 061f2c6abd014c9f30ca2d784cb535e3e3452c65 (diff) | |
download | mdadm-aa7c284c06ba046039f60ceb4e3fb422967d354f.tar.gz mdadm-aa7c284c06ba046039f60ceb4e3fb422967d354f.tar.xz mdadm-aa7c284c06ba046039f60ceb4e3fb422967d354f.zip |
Fix tests on ->container and ->member
For container= and member= to be effective in an mdadm.conf line
they must both be present. So when checking for their absence we
need container != NULL || member != NULL.
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | Assemble.c | 4 | ||||
-rw-r--r-- | config.c | 2 |
2 files changed, 3 insertions, 3 deletions
@@ -140,7 +140,7 @@ int Assemble(struct supertype *st, char *mddev, int clean; int auto_assem = (mddev == NULL && !ident->uuid_set && ident->super_minor == UnSet && ident->name[0] == 0 - && ident->container == NULL && ident->member == NULL); + && (ident->container == NULL || ident->member == NULL)); int old_linux = 0; int vers = vers; /* Keep gcc quite - it really is initialised */ struct { @@ -504,7 +504,7 @@ int Assemble(struct supertype *st, char *mddev, break; } if (!auto_assem && trustworthy == FOREIGN) - /* If the array is listed in mdadm or on + /* If the array is listed in mdadm.conf or on * command line, then we trust the name * even if the array doesn't look local */ @@ -567,7 +567,7 @@ void arrayline(char *line) } if (mis.uuid_set == 0 && mis.devices == NULL && mis.super_minor == UnSet && mis.name[0] == 0 && - (mis.container == NULL && mis.member == NULL)) + (mis.container == NULL || mis.member == NULL)) fprintf(stderr, Name ": ARRAY line %s has no identity information.\n", mis.devname); else { mi = malloc(sizeof(*mi)); |