diff options
Diffstat (limited to 'Incremental.c')
-rw-r--r-- | Incremental.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/Incremental.c b/Incremental.c index c13ea43..5849d39 100644 --- a/Incremental.c +++ b/Incremental.c @@ -211,6 +211,15 @@ int Incremental(char *devname, int verbose, int runstop, match = array_list; } + if (match && match->devname + && strcasecmp(match->devname, "<ignore>") == 0) { + if (verbose >= 0) + fprintf(stderr, Name ": array containing %s is explicitly" + " ignored by mdadm.conf\n", + devname); + return 1; + } + /* 3a/ if not, check for homehost match. If no match, continue * but don't trust the 'name' in the array. Thus a 'random' minor * number will be assigned, and the device name will be based @@ -746,7 +755,7 @@ int Incremental_container(struct supertype *st, char *devname, int verbose, strcpy(chosen_name, mp->path); } else { - /* Check in mdadm.conf for devices == devname and + /* Check in mdadm.conf for container == devname and * member == ra->text_version after second slash. */ char *sub = strchr(ra->text_version+1, '/'); @@ -784,6 +793,15 @@ int Incremental_container(struct supertype *st, char *devname, int verbose, break; } + if (match && match->devname && + strcasecmp(match->devname, "<ignore>") == 0) { + if (verbose > 0) + fprintf(stderr, Name ": array %s/%s is " + "explicitly ignored by mdadm.conf\n", + match->container, match->member); + return 2; + } + mdfd = create_mddev(match ? match->devname : NULL, ra->name, autof, |