[PATCH] debugfs: fix ncheck program output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Qian Yingjin <qian@xxxxxxx>

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@xxxxxxx>
---
 debugfs/ncheck.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c
index 5d9b5d2..dc4ab56 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;
 		}
 	}
-- 
1.7.1




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux