]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - config.c
mdadm: numbered names verification
[thirdparty/mdadm.git] / config.c
index e61c04963fb97933e677b6616f246c2b2853a537..450880e3c35a1934a5a660fac3ca04d05df5bd5d 100644 (file)
--- a/config.c
+++ b/config.c
@@ -385,17 +385,6 @@ void devline(char *line)
 struct mddev_ident *mddevlist = NULL;
 struct mddev_ident **mddevlp = &mddevlist;
 
-static int is_number(char *w)
-{
-       /* check if there are 1 or more digits and nothing else */
-       int digits = 0;
-       while (*w && isdigit(*w)) {
-               digits++;
-               w++;
-       }
-       return (digits && ! *w);
-}
-
 void arrayline(char *line)
 {
        char *w;
@@ -419,10 +408,8 @@ void arrayline(char *line)
                        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 &&
-                            is_number(w + DEV_NUM_PREF_LEN)) ||
-                           (strncmp(w, "/dev/md_d", 9) == 0 &&
-                            is_number(w + 9))) {
+                           is_devname_md_numbered(w) == true ||
+                           is_devname_md_d_numbered(w) == true) {
                                /* This is acceptable */;
                                if (mis.devname)
                                        pr_err("only give one device per ARRAY line: %s and %s\n",