]> www.infradead.org Git - users/hch/xfsprogs.git/commit
xfs: refactor internal dfops initialization
authorBrian Foster <bfoster@redhat.com>
Fri, 5 Oct 2018 02:36:11 +0000 (21:36 -0500)
committerEric Sandeen <sandeen@redhat.com>
Fri, 5 Oct 2018 02:36:11 +0000 (21:36 -0500)
commit3645e8edb3b194fb7c7ea9e329018ffe98f9609a
treec164eee25ddbec9c268a1c44951d36c04bd317b0
parentb403e029132091a25b34a72e9a12e1bc5f25ecd8
xfs: refactor internal dfops initialization

Source kernel commit: 98719051e75ccf9eca18bd2b569de4ea637b4479

The current transaction allocation code conditionally initializes
the ->t_dfops indirection pointer. Transaction commit/cancel check
the validity of the pointer to determine whether to finish/cancel
the internal dfops.

This disallows the ability to use the internal dfops list as a
temporary container (via xfs_trans_alloc_empty()). Refactor
transaction allocation to always initialize ->t_dfops and check
permanent reservation state on transaction commit/cancel.

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>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/trans.c