If the arg string is of the form <ino>, allow it for ncheck. 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@xxxxxxxxxxxxx> --- debugfs/ncheck.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index 011f26de..3be4be19 100644 --- a/debugfs/ncheck.c +++ b/debugfs/ncheck.c @@ -134,9 +134,21 @@ 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); + char *str = argv[i]; + int len = strlen(str); + + if ((len > 2) && (str[0] == '<') && (str[len-1] == '>')) { + str[len-1] = '\0'; + str++; + } + iw.iarray[i] = strtol(str, &tmp, 0); if (*tmp) { - com_err("ncheck", 0, "Bad inode - %s", argv[i]); + if (str != argv[i]) { + str--; + str[len-1] = '>'; + } + 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