From: Darrick J. Wong Date: Wed, 24 Jun 2026 18:17:22 +0000 (-0700) Subject: xfs_scrub: warn about difficult rtgroup repairs X-Git-Tag: v7.1.0~27 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=157d76940c3cc0b72effb21c31e9c0b372fa325d;p=xfsprogs-dev.git xfs_scrub: warn about difficult rtgroup repairs Codex noticed that rtgroup metadata repairs can be difficult (e.g. rtrmap) but we don't ever warn the user about that. Scrub does that for per-AG and fs metadata, so do that here too. Cc: linux-xfs@vger.kernel.org # v6.13.0 Fixes: 241d915d69d4ae ("xfs_scrub: scrub realtime allocation group metadata") Signed-off-by: "Darrick J. Wong" Reviewed-by: Christoph Hellwig --- diff --git a/scrub/phase2.c b/scrub/phase2.c index 8de77429..f382c136 100644 --- a/scrub/phase2.c +++ b/scrub/phase2.c @@ -251,6 +251,7 @@ scan_rtgroup_metadata( struct scrub_ctx *ctx = (struct scrub_ctx *)wq->wq_ctx; struct scan_ctl *sctl = arg; char descr[DESCR_BUFSZ]; + unsigned int difficulty; bool defer_repairs; int ret; @@ -281,7 +282,14 @@ scan_rtgroup_metadata( sctl->aborted = true; return; } + if (defer_repairs) + goto defer; + + /* Complain about metadata corruptions that might not be fixable. */ + difficulty = repair_item_difficulty(&sri); + warn_repair_difficulties(ctx, difficulty, descr); +defer: /* Everything else gets fixed during phase 4. */ ret = defer_fs_repair(ctx, &sri); if (ret) {