diff options
author | 2022-05-04 11:46:21 +1000 | |
---|---|---|
committer | 2022-05-04 11:46:21 +1000 | |
commit | bb7b1c9c5dd3d24db3f296e365570fd50c8ca80c (patch) | |
tree | 13b432e60de6cae8e36288d4f4cca079cd72212c /fs/xfs/xfs_bmap_item.c | |
parent | xfs: add log item flags to indicate intents (diff) | |
download | linux-bb7b1c9c5dd3d24db3f296e365570fd50c8ca80c.tar.gz linux-bb7b1c9c5dd3d24db3f296e365570fd50c8ca80c.tar.bz2 linux-bb7b1c9c5dd3d24db3f296e365570fd50c8ca80c.zip |
xfs: tag transactions that contain intent done items
Intent whiteouts will require extra work to be done during
transaction commit if the transaction contains an intent done item.
To determine if a transaction contains an intent done item, we want
to avoid having to walk all the items in the transaction to check if
they are intent done items. Hence when we add an intent done item to
a transaction, tag the transaction to indicate that it contains such
an item.
We don't tag the transaction when the defer ops is relogging an
intent to move it forward in the log. Whiteouts will never apply to
these cases, so we don't need to bother looking for them.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_bmap_item.c')
-rw-r--r-- | fs/xfs/xfs_bmap_item.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_bmap_item.c b/fs/xfs/xfs_bmap_item.c index 0e0aae83308c..3d1fa8edf28f 100644 --- a/fs/xfs/xfs_bmap_item.c +++ b/fs/xfs/xfs_bmap_item.c @@ -257,7 +257,7 @@ xfs_trans_log_finish_bmap_update( * 1.) releases the BUI and frees the BUD * 2.) shuts down the filesystem */ - tp->t_flags |= XFS_TRANS_DIRTY; + tp->t_flags |= XFS_TRANS_DIRTY | XFS_TRANS_HAS_INTENT_DONE; set_bit(XFS_LI_DIRTY, &budp->bud_item.li_flags); return error; |