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>
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 {
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
*/
}
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));