diff options
author | Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> | 2023-03-23 17:50:16 +0100 |
---|---|---|
committer | Jes Sorensen <jes@trained-monkey.org> | 2023-05-08 22:23:45 +0200 |
commit | 7b3b691ba69b909ea8c172aae693fa2a6938fd14 (patch) | |
tree | 6c1394139b0aa0d549f00e7087acdcff1d48dc4c | |
parent | mdadm: define DEV_NUM_PREF (diff) | |
download | mdadm-7b3b691ba69b909ea8c172aae693fa2a6938fd14.tar.xz mdadm-7b3b691ba69b909ea8c172aae693fa2a6938fd14.zip |
mdadm: define is_devname_ignore()
Use function instead of direct checks across code.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-rw-r--r-- | Incremental.c | 6 | ||||
-rw-r--r-- | Monitor.c | 2 | ||||
-rw-r--r-- | config.c | 16 | ||||
-rw-r--r-- | mdadm.c | 5 | ||||
-rw-r--r-- | mdadm.h | 1 |
5 files changed, 20 insertions, 10 deletions
diff --git a/Incremental.c b/Incremental.c index 59b850f1..f13ce027 100644 --- a/Incremental.c +++ b/Incremental.c @@ -202,8 +202,7 @@ int Incremental(struct mddev_dev *devlist, struct context *c, if (!match && rv == 2) goto out; - if (match && match->devname && - strcasecmp(match->devname, "<ignore>") == 0) { + if (match && match->devname && is_devname_ignore(match->devname) == true) { if (c->verbose >= 0) pr_err("array containing %s is explicitly ignored by mdadm.conf\n", devname); @@ -1567,8 +1566,7 @@ static int Incremental_container(struct supertype *st, char *devname, break; } - if (match && match->devname && - strcasecmp(match->devname, "<ignore>") == 0) { + if (match && match->devname && is_devname_ignore(match->devname) == true) { if (c->verbose > 0) pr_err("array %s/%s is explicitly ignored by mdadm.conf\n", match->container, match->member); @@ -250,7 +250,7 @@ int Monitor(struct mddev_dev *devlist, if (mdlist->devname == NULL) continue; - if (strcasecmp(mdlist->devname, "<ignore>") == 0) + if (is_devname_ignore(mdlist->devname) == true) continue; if (!is_mddev(mdlist->devname)) continue; @@ -120,6 +120,18 @@ int match_keyword(char *word) } /** + * is_devname_ignore() - check if &devname is a special "<ignore>" keyword. + */ +bool is_devname_ignore(char *devname) +{ + static const char keyword[] = "<ignore>"; + + if (strcasecmp(devname, keyword) == 0) + return true; + return false; +} + +/** * ident_init() - Set defaults. * @ident: ident pointer, not NULL. */ @@ -404,7 +416,7 @@ void arrayline(char *line) * <ignore> * or anything that doesn't start '/' or '<' */ - if (strcasecmp(w, "<ignore>") == 0 || + if (is_devname_ignore(w) == true || strncmp(w, DEV_MD_DIR, DEV_MD_DIR_LEN) == 0 || (w[0] != '/' && w[0] != '<') || (strncmp(w, DEV_NUM_PREF, DEV_NUM_PREF_LEN) == 0 && @@ -571,7 +583,7 @@ void homehostline(char *line) char *w; for (w = dl_next(line); w != line; w = dl_next(w)) { - if (strcasecmp(w, "<ignore>") == 0) + if (is_devname_ignore(w) == true) require_homehost = 0; else if (home_host == NULL) { if (strcasecmp(w, "<none>") == 0) @@ -154,7 +154,7 @@ int main(int argc, char *argv[]) continue; case HomeHost: - if (strcasecmp(optarg, "<ignore>") == 0) + if (is_devname_ignore(optarg) == true) c.require_homehost = 0; else c.homehost = optarg; @@ -1749,8 +1749,7 @@ static int scan_assemble(struct supertype *ss, int r; if (a->assembled) continue; - if (a->devname && - strcasecmp(a->devname, "<ignore>") == 0) + if (a->devname && is_devname_ignore(a->devname) == true) continue; r = Assemble(ss, a->devname, @@ -1650,6 +1650,7 @@ extern void print_escape(char *str); extern int use_udev(void); extern unsigned long GCD(unsigned long a, unsigned long b); extern int conf_name_is_free(char *name); +extern bool is_devname_ignore(char *devname); extern int conf_verify_devnames(struct mddev_ident *array_list); extern int devname_matches(char *name, char *match); extern struct mddev_ident *conf_match(struct supertype *st, |