diff options
| author | Nirjhar Roy (IBM) <nirjhar.roy.lists@gmail.com> | 2026-02-20 12:24:00 +0530 |
|---|---|---|
| committer | Carlos Maiolino <cem@kernel.org> | 2026-02-25 13:58:49 +0100 |
| commit | c2368fc89a684be2900daaa2bbf68cbc147e8d3d (patch) | |
| tree | 8a16f420019dde1070e57f33dec068fc8b85f4c3 | |
| parent | ac1d977096a17d56c55bd7f90be48e81ac4cec3f (diff) | |
| download | linux-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.c | 9 |
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; |
