aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQian Yingjin <qian@ddn.com>2017-12-13 10:59:39 -0500
committerTheodore Ts'o <tytso@mit.edu>2017-12-13 10:59:39 -0500
commit07b11a7ba394fec6063f416fe8aa21cf43461098 (patch)
tree55aec1beb69d95c19c0e44f57de9cc6a08aca9c5
parented580fc16fc5b271c0a8fb853ac7b39752e8ce1d (diff)
downloade2fsprogs-07b11a7ba394fec6063f416fe8aa21cf43461098.tar.gz
debugfs: fix ncheck program output
Fix the bug that print the inode number not the program name when reporting bad inode name during checking in ncheck. Minor bug fix: it should reduce iw->inodes_left when found matched inode number. Signed-off-by: Qian Yingjin <qian@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--debugfs/ncheck.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c
index 5d9b5d21c..dc4ab56d0 100644
--- a/debugfs/ncheck.c
+++ b/debugfs/ncheck.c
@@ -81,6 +81,7 @@ static int ncheck_proc(struct ext2_dir_entry *dirent,
}
}
putc('\n', stdout);
+ iw->inodes_left--;
}
}
if (!iw->inodes_left)
@@ -111,10 +112,8 @@ void do_ncheck(int argc, char **argv)
goto print_usage;
}
}
- argc -= optind;
- argv += optind;
- if (argc < 1) {
+ if (argc <= 1) {
print_usage:
com_err(argv[0], 0, "Usage: ncheck [-c] <inode number> ...");
return;
@@ -122,6 +121,8 @@ void do_ncheck(int argc, char **argv)
if (check_fs_open(argv[0]))
return;
+ argc -= optind;
+ argv += optind;
iw.iarray = malloc(sizeof(ext2_ino_t) * argc);
if (!iw.iarray) {
com_err("ncheck", ENOMEM,
@@ -133,7 +134,7 @@ void do_ncheck(int argc, char **argv)
for (i=0; i < argc; i++) {
iw.iarray[i] = strtol(argv[i], &tmp, 0);
if (*tmp) {
- com_err(argv[0], 0, "Bad inode - %s", argv[i]);
+ com_err("ncheck", 0, "Bad inode - %s", argv[i]);
goto error_out;
}
}