From: Darrick J. Wong Date: Mon, 24 Feb 2025 18:22:04 +0000 (-0800) Subject: xfs_db: add rtrefcount reservations to the rgresv command X-Git-Tag: v6.14.0~54 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=e971e843428f805d698bd51b76b5fd1b0b0f481b;p=thirdparty%2Fxfsprogs-dev.git xfs_db: add rtrefcount reservations to the rgresv command Report rt refcount btree reservations in the rgresv subcommand output. Signed-off-by: "Darrick J. Wong" Reviewed-by: Christoph Hellwig --- diff --git a/db/info.c b/db/info.c index ce6f3584..6ad3e238 100644 --- a/db/info.c +++ b/db/info.c @@ -202,6 +202,19 @@ print_rgresv_info( ask += libxfs_rtrmapbt_calc_reserves(mp); + /* rtrefcount */ + error = -libxfs_rtginode_load(rtg, XFS_RTGI_REFCOUNT, tp); + if (error) { + dbprintf(_("Cannot load rtgroup %u refcount inode, error %d\n"), + rtg_rgno(rtg), error); + goto out_rele_dp; + } + if (rtg_refcount(rtg)) + used += rtg_refcount(rtg)->i_nblocks; + libxfs_rtginode_irele(&rtg->rtg_inodes[XFS_RTGI_REFCOUNT]); + + ask += libxfs_rtrefcountbt_calc_reserves(mp); + printf(_("rtg %d: dblocks: %llu fdblocks: %llu reserved: %llu used: %llu"), rtg_rgno(rtg), (unsigned long long)mp->m_sb.sb_dblocks, diff --git a/libxfs/libxfs_api_defs.h b/libxfs/libxfs_api_defs.h index 87a598f3..7ce10c40 100644 --- a/libxfs/libxfs_api_defs.h +++ b/libxfs/libxfs_api_defs.h @@ -320,6 +320,7 @@ #define xfs_rtgroup_get libxfs_rtgroup_get #define xfs_rtgroup_put libxfs_rtgroup_put +#define xfs_rtrefcountbt_calc_reserves libxfs_rtrefcountbt_calc_reserves #define xfs_rtrefcountbt_droot_maxrecs libxfs_rtrefcountbt_droot_maxrecs #define xfs_rtrefcountbt_maxlevels_ondisk libxfs_rtrefcountbt_maxlevels_ondisk #define xfs_rtrefcountbt_maxrecs libxfs_rtrefcountbt_maxrecs