Whamcloud - gitweb
LU-737 utils: check device name for digit
authorMinh Diep <mdiep@whamcloud.com>
Mon, 7 Nov 2011 17:23:38 +0000 (09:23 -0800)
committerJohann Lombardi <johann@whamcloud.com>
Wed, 16 Nov 2011 13:21:46 +0000 (08:21 -0500)
We need to check the whole string for digit
not only the first character

Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Change-Id: Ib3002f2f8dd9c657d7bcfcfa9166488c080152c2
Reviewed-on: http://review.whamcloud.com/1660
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
lustre/utils/lustre_cfg.c

index 20de727..e8e9dab 100644 (file)
@@ -77,13 +77,26 @@ static char * lcfg_devname;
 
 int lcfg_set_devname(char *name)
 {
+        char *ptr;
+        int digit = 1;
+
         if (name) {
                 if (lcfg_devname)
                         free(lcfg_devname);
                 /* quietly strip the unnecessary '$' */
                 if (*name == '$' || *name == '%')
                         name++;
-                if (isdigit(*name)) {
+
+                ptr = name;
+                while (*ptr != '\0') {
+                        if (!isdigit(*ptr)) {
+                                digit = 0;
+                                break;
+                        }
+                        ptr++;
+                }
+
+                if (digit) {
                         /* We can't translate from dev # to name */
                         lcfg_devname = NULL;
                 } else {