xfs: xfs_iflock is no longer a completion
authorDave Chinner <dchinner@redhat.com>
Mon, 17 Aug 2020 23:41:01 +0000 (16:41 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Mon, 7 Sep 2020 01:05:51 +0000 (18:05 -0700)
commit718ecc50359ec7a45c3195305ab998a46db491dc
tree23fa139cce6d28558ba6c9f5b30ce56143e05b3b
parent771915c4f68889b8c41092a928c604c9cd279927
xfs: xfs_iflock is no longer a completion

With the recent rework of the inode cluster flushing, we no longer
ever wait on the the inode flush "lock". It was never a lock in the
first place, just a completion to allow callers to wait for inode IO
to complete. We now never wait for flush completion as all inode
flushing is non-blocking. Hence we can get rid of all the iflock
infrastructure and instead just set and check a state flag.

Rename the XFS_IFLOCK flag to XFS_IFLUSHING, convert all the
xfs_iflock_nowait() test-and-set operations on that flag, and
replace all the xfs_ifunlock() calls to clear operations.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_icache.c
fs/xfs/xfs_inode.c
fs/xfs/xfs_inode.h
fs/xfs/xfs_inode_item.c
fs/xfs/xfs_inode_item.h
fs/xfs/xfs_mount.c
fs/xfs/xfs_super.c