[PATCH] gfs2: replace WARN_ON_ONCE with fs_warn in rgblk_free
Tristan Madani <[email protected]> Sat, 18 Apr 2026 13:11:03 +0000
| Newsgroups | dev.linux.lists.gfs2,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Tristan Madani <[email protected]> rgblk_free() triggers WARN_ON_ONCE when gfs2_rbm_from_block() fails due to a block number outside the resource group bounds. This can be triggered by a corrupted filesystem image, causing unnecessary kernel warnings. Replace WARN_ON_ONCE with fs_warn() to provide a more informative diagnostic message while avoiding the kernel warning. Reported-by: [email protected] Fixes: 5b924ae2b7b4 ("GFS2: fix rgrp end rounding problem for bsize < page size") Cc: [email protected] Signed-off-by: Tristan Madani <[email protected]> --- fs/gfs2/rgrp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 26d6c1eea5591..7707c1b1082f8 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -2266,8 +2266,11 @@ static void rgblk_free(struct gfs2_sbd *sdp, struct gfs2_rgrpd *rgd, struct gfs2_bitmap *bi, *bi_prev = NULL; rbm.rgd = rgd; - if (WARN_ON_ONCE(gfs2_rbm_from_block(&rbm, bstart))) + if (gfs2_rbm_from_block(&rbm, bstart)) { + fs_warn(sdp, "rgblk_free: block %llu outside rgrp\n", + (unsigned long long)bstart); return; + } while (blen--) { bi = rbm_bi(&rbm); if (bi != bi_prev) { -- 2.47.3