On Mon, Nov 25, 2024 at 05:28:53PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Superblock counter updates are tracked via per-transaction counters in > the xfs_trans object. These changes are then turned into dirty log > items in xfs_trans_apply_sb_deltas just prior to commiting the log items > to the CIL. > > However, updating the per-transaction counter deltas do not cause > XFS_TRANS_DIRTY to be set on the transaction. In other words, a pure sb > counter update will be silently discarded if there are no other dirty > log items attached to the transaction. > > This is currently not the case anywhere in the filesystem because sb > counter updates always dirty at least one other metadata item, but let's > not leave a logic bomb. xfs_trans_mod_sb is the only place that sets XFS_TRANS_SB_DIRTY, and always forces XFS_TRANS_DIRTY. So this seems kinda intentional, even if this new version is much cleaner. So the change looks fine: Reviewed-by: Christoph Hellwig <hch@xxxxxx> But I don't think the Fixes tag is really warranted.