summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_super.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-12-16 08:14:42 +0100
committerChristoph Hellwig <hch@lst.de>2025-03-03 08:17:08 -0700
commit55ef6e7a401fd748b5e879706b02083dc6eb0846 (patch)
treefabab4b7182a0e9ca70577ee70009fb09e5cb45b /fs/xfs/xfs_super.c
parent859b692711c66c9a8eb757ca708978f081e809e3 (diff)
xfs: hide reserved RT blocks from statfs
File systems with a zoned RT device have a large number of reserved blocks that are required for garbage collection, and which can't be filled with user data. Exclude them from the available blocks reported through stat(v)fs. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Diffstat (limited to 'fs/xfs/xfs_super.c')
-rw-r--r--fs/xfs/xfs_super.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 39b2bad67fcd..b6426f5c8b51 100644
--- a/fs/xfs/xfs_super.c
+++ b/fs/xfs/xfs_super.c
@@ -869,7 +869,8 @@ xfs_statfs_rt(
{
st->f_bfree = xfs_rtbxlen_to_blen(mp,
xfs_sum_freecounter(mp, XC_FREE_RTEXTENTS));
- st->f_blocks = mp->m_sb.sb_rblocks;
+ st->f_blocks = mp->m_sb.sb_rblocks - xfs_rtbxlen_to_blen(mp,
+ mp->m_free[XC_FREE_RTEXTENTS].res_total);
}
static void