]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: replace dop_low with transaction flag
authorBrian Foster <bfoster@redhat.com>
Wed, 1 Aug 2018 14:20:31 +0000 (07:20 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Fri, 3 Aug 2018 06:05:13 +0000 (23:05 -0700)
commit0486d73f509d11159387e5b30263dffac8e4e1fa
tree24a8b208cbfff610e5099eab6cdae0f474aad9df
parent7a5e8c608ea7a61c6e46ee49275e0eae2fe14b59
xfs: replace dop_low with transaction flag

The dop_low field enables the low free space allocation mode when a
previous allocation has detected difficulty allocating blocks. It
has historically been part of the xfs_defer_ops structure, which
means if enabled, it remains enabled across a set of transactions
until the deferred operations have completed and the dfops is reset.

Now that the dfops is embedded in the transaction, we can save a bit
more space by using a transaction flag rather than a standalone
boolean. Drop the ->dop_low field and replace it with a transaction
flag that is set at the same points, carried across rolling
transactions and cleared on completion of deferred operations. This
essentially emulates the behavior of ->dop_low and so should not
change behavior.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/libxfs/xfs_bmap.c
fs/xfs/libxfs/xfs_bmap_btree.c
fs/xfs/libxfs/xfs_defer.c
fs/xfs/libxfs/xfs_defer.h
fs/xfs/libxfs/xfs_shared.h
fs/xfs/xfs_filestream.c
fs/xfs/xfs_trace.h
fs/xfs/xfs_trans.h