From 197069505b88b83d215662b5e62be1d89ba00d5d Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Mon, 3 Oct 2016 10:56:00 +1100 Subject: [PATCH] xfs_io: fix inode command with "-n" for bogus inode If we ask for the next allocated inode after a number for which no other inode exists, the bulkstat returns success, but with count == 0. If we ignore this fact, we print a garbage result from bstat.bs_ino in this case, so fix it. Signed-off-by: Eric Sandeen Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- io/open.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/io/open.c b/io/open.c index 7d952a08d..8f934eedc 100644 --- a/io/open.c +++ b/io/open.c @@ -882,10 +882,16 @@ inode_f( exitcode = 1; return 0; } - } else if (ret_next) /* The next inode in use */ - result_ino = bstat.bs_ino; - else /* The inode we asked about */ + } else if (ret_next) { + /* The next inode in use, or 0 if none */ + if (*bulkreq.ocount) + result_ino = bstat.bs_ino; + else + result_ino = 0; + } else { + /* The inode we asked about */ result_ino = userino; + } } if (verbose && result_ino) { -- 2.47.2