aboutsummaryrefslogtreecommitdiff
path: root/fs/xfs/libxfs/xfs_defer.c
diff options
context:
space:
mode:
authorGravatar Brian Foster <bfoster@redhat.com> 2018-08-01 07:20:29 -0700
committerGravatar Darrick J. Wong <darrick.wong@oracle.com> 2018-08-02 23:05:13 -0700
commitfbfa977d25dc8db92dbf5fcafb0e03fae0005be5 (patch)
tree44780c8d267753558a12cefef8b4e8c4838ab4a6 /fs/xfs/libxfs/xfs_defer.c
parentxfs: refactor internal dfops initialization (diff)
downloadlinux-fbfa977d25dc8db92dbf5fcafb0e03fae0005be5.tar.gz
linux-fbfa977d25dc8db92dbf5fcafb0e03fae0005be5.tar.bz2
linux-fbfa977d25dc8db92dbf5fcafb0e03fae0005be5.zip
xfs: use transaction for intent recovery instead of raw dfops
Log intent recovery is the last user of an external (on-stack) dfops. The pattern exists because the dfops is used to collect additional deferred operations queued during the whole recovery sequence. The dfops is finished with a new transaction after intent recovery completes. We already have a mechanism to create an empty, container-like transaction to support the scrub infrastructure. We can reuse that mechanism here to drop the final user of external dfops. This facilitates folding dfops state (i.e., dop_low) into the transaction, the elimination of now unused external dfops support and also eliminates the only caller of __xfs_defer_cancel(). Replace the on-stack dfops with an empty transaction and pass it around to the various helpers that queue and finish deferred operations during intent recovery. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_defer.c')
0 files changed, 0 insertions, 0 deletions