static void usage_start(void)
{
- fprintf(stderr, "start LFSCK\n"
+ fprintf(stdout, "start LFSCK\n"
"usage:\n"
"lfsck_start [-M | --device {MDT,OST}_device]\n"
" [-A | --all] [-c | --create_ostobj [on | off]]\n"
static void usage_stop(void)
{
- fprintf(stderr, "stop LFSCK\n"
+ fprintf(stdout, "stop LFSCK\n"
"usage:\n"
"lfsck_stop [-M | --device {MDT,OST}_device]\n"
" [-A | --all] [-h | --help]\n"
static void usage_query(void)
{
- fprintf(stderr, "check the LFSCK global status\n"
+ fprintf(stdout, "check the LFSCK global status\n"
"usage:\n"
"lfsck_query [-M | --device MDT_device] [-h | --help]\n"
" [-t | --type check_type[,check_type...]]\n"
int types, bool multipe_devices)
{
glob_t param = { 0 };
+ size_t count = 0;
char *ptr;
int rc;
int i;
}
}
- 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) {
}
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;
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;