[PATCH v2] debugfs: allow <inode> for ncheck

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

 



From: Li Dongyang <dongyangli@xxxxxxx>

If the ncheck argument is of the form "<ino>", allow it for ncheck
for consistency with other commands that accept an inode number.

Improve the error message, use "Invalid inode number" instead
of "Bad inode", which implies the inode content being bad.

Signed-off-by: Li Dongyang <dongyangli@xxxxxxx>
Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx>
---
 debugfs/ncheck.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

v2: don't modify argv[] during parsing

diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c
index 011f26de..963b3a12 100644
--- a/debugfs/ncheck.c
+++ b/debugfs/ncheck.c
@@ -134,9 +134,15 @@ void do_ncheck(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)),
 
 	iw.names_left = 0;
 	for (i=0; i < argc; i++) {
-		iw.iarray[i] = strtol(argv[i], &tmp, 0);
-		if (*tmp) {
-			com_err("ncheck", 0, "Bad inode - %s", argv[i]);
+		char *str = argv[i];
+		int len = strlen(str);
+
+		if ((len > 2) && (str[0] == '<') && (str[len - 1] == '>'))
+			str++;
+		iw.iarray[i] = strtol(str, &tmp, 0);
+		if (*tmp && (str == argv[i] || *tmp != '>')) {
+			com_err("ncheck", 0, "Invalid inode number - '%s'",
+				argv[i]);
 			goto error_out;
 		}
 		if (debugfs_read_inode(iw.iarray[i], &inode, *argv))
-- 
2.25.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