diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -2627,7 +2627,10 @@ int gfs2_check_blk_type(struct gfs2_sbd *sdp, u64 no_addr, unsigned int type) rbm.rgd = rgd; error = gfs2_rbm_from_block(&rbm, no_addr); - if (!WARN_ON_ONCE(error)) { + if (error) { + error = -ESTALE; + } else { /* * No need to take the local resource group lock here; the * inode glock of @no_addr provides the necessary