From: Darrick J. Wong Date: Mon, 5 Jun 2023 15:37:39 +0000 (-0700) Subject: xfs_repair: don't spray correcting imap all by itself X-Git-Tag: v6.4.0~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=67f541056f4dd3ba1ccc5d11464d67afdab0f2a3;p=thirdparty%2Fxfsprogs-dev.git xfs_repair: don't spray correcting imap all by itself 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 Reviewed-by: Carlos Maiolino Signed-off-by: Carlos Maiolino --- diff --git a/repair/dino_chunks.c b/repair/dino_chunks.c index 0e09132b0..0841e65b1 100644 --- a/repair/dino_chunks.c +++ b/repair/dino_chunks.c @@ -871,13 +871,11 @@ next_readbuf: */ 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"));