]> 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)
commita03dbdc920e53d2eb6c0b45570bb9d26dce3ad19
tree24a8b208cbfff610e5099eab6cdae0f474aad9df
parent8ae828352c35d3738c0f76cc5beccde8a5be4c5c
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