From: Darrick J. Wong <djwong@xxxxxxxxxx> In xfs/155, I occasionally see this in the xfs_repair output: correcting imap correcting imap correcting imap ... This is completely useless, since we don't actually log which inode prompted this message. This logic has been here for a really long time, but ... I can't make heads nor tails of it. If we're running in verbose or dry-run mode, then print the inode number, but not if we're running in fixit mode? A few lines later, if we're running in verbose dry-run mode, we print "correcting imap" even though we're not going to write anything. If we get here, the inode looks like it's in use, but the inode index says it isn't. This is a corruption, so either we fix it or we say that we would fix it. Fixes: 6c39a3cbda3 ("Don't trash lost+found in phase 4 Merge of master-melb:xfs-cmds:29144a by kenmcd.") Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> --- repair/dino_chunks.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/repair/dino_chunks.c b/repair/dino_chunks.c index cf6a5e399d4..33008853789 100644 --- a/repair/dino_chunks.c +++ b/repair/dino_chunks.c @@ -871,13 +871,11 @@ process_inode_chunk( */ if (is_used) { if (is_inode_free(ino_rec, irec_offset)) { - if (verbose || no_modify) { - do_warn( + do_warn( _("imap claims in-use inode %" PRIu64 " is free, "), ino); - } - if (verbose || !no_modify) + if (!no_modify) do_warn(_("correcting imap\n")); else do_warn(_("would correct imap\n"));