summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNirjhar Roy (IBM) <nirjhar.roy.lists@gmail.com>2026-02-20 12:24:00 +0530
committerCarlos Maiolino <cem@kernel.org>2026-02-25 13:58:49 +0100
commitc2368fc89a684be2900daaa2bbf68cbc147e8d3d (patch)
tree8a16f420019dde1070e57f33dec068fc8b85f4c3
parentac1d977096a17d56c55bd7f90be48e81ac4cec3f (diff)
downloadlinux-c2368fc89a684be2900daaa2bbf68cbc147e8d3d.tar.gz
linux-c2368fc89a684be2900daaa2bbf68cbc147e8d3d.zip
xfs: Update lazy counters in xfs_growfs_rt_bmblock()
Update lazy counters in xfs_growfs_rt_bmblock() similar to the way it is done xfs_growfs_data_private(). This is because the lazy counters are not always updated and synching the counters will avoid inconsistencies between frexents and rtextents(total realtime extent count). This will be more useful once realtime shrink is implemented as this will prevent some transient state to occur where frexents might be greater than total rtextents. Reviewed-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nirjhar Roy (IBM) <nirjhar.roy.lists@gmail.com> Signed-off-by: Carlos Maiolino <cem@kernel.org>
-rw-r--r--fs/xfs/xfs_rtalloc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c
index ae53ba2093b2..153f3c378f9f 100644
--- a/fs/xfs/xfs_rtalloc.c
+++ b/fs/xfs/xfs_rtalloc.c
@@ -1050,6 +1050,15 @@ xfs_growfs_rt_bmblock(
*/
xfs_trans_resv_calc(mp, &mp->m_resv);
+ /*
+ * Sync sb counters now to reflect the updated values. Lazy counters are
+ * not always updated and in order to avoid inconsistencies between
+ * frextents and rtextents, it is better to sync the counters.
+ */
+
+ if (xfs_has_lazysbcount(mp))
+ xfs_log_sb(args.tp);
+
error = xfs_trans_commit(args.tp);
if (error)
goto out_free;