Whamcloud - gitweb
LU-15098 tests: sanity-sec 27a exec commands on right node
[fs/lustre-release.git] / lustre / utils / lustre_lfsck.c
index e486000..5e48932 100644 (file)
@@ -203,6 +203,7 @@ static int lfsck_get_dev_name(struct obd_ioctl_data *data, char *device,
                              int types, bool multipe_devices)
 {
        glob_t param = { 0 };
+       size_t count = 0;
        char *ptr;
        int rc;
        int i;
@@ -226,7 +227,16 @@ static int lfsck_get_dev_name(struct obd_ioctl_data *data, char *device,
                }
        }
 
-       if (param.gl_pathc == 1)
+       /* we have both sysfs and debugfs entries so to get the correct number
+        * of devices only count the entries in the sysfs tree
+        */
+       for (i = 0; i < param.gl_pathc; i++) {
+               if (strstr(param.gl_pathv[i], "/sys/kernel/debug/lustre"))
+                       continue;
+               count++;
+       }
+
+       if (count == 1)
                goto pack;
 
        if (!multipe_devices) {
@@ -245,8 +255,12 @@ static int lfsck_get_dev_name(struct obd_ioctl_data *data, char *device,
        }
 
        for (i = 1; i < param.gl_pathc; i++) {
-               char *ptr2 = strrchr(param.gl_pathv[i], '-');
+               char *ptr2;
+
+               if (strstr(param.gl_pathv[i], "/sys/kernel/debug/lustre"))
+                       continue;
 
+               ptr2 = strrchr(param.gl_pathv[i], '-');
                if (ptr2 == NULL) {
                        rc = -EINVAL;
                        goto out;
@@ -615,7 +629,8 @@ bad_type:
                        printf("%s_osts_%s: %d\n", name,
                               lfsck_status2name(j), query.lu_osts_count[i][j]);
 
-               printf("%s_repaired: %llu\n", name, query.lu_repaired[i]);
+               printf("%s_repaired: %llu\n", name,
+                      (unsigned long long)query.lu_repaired[i]);
        }
 
        return 0;