diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2020-02-19 17:02:13 -0800 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2020-06-01 21:16:36 -0700 |
commit | 64bb9ca7fc027d4a56ace91956d160e4721d6e76 (patch) | |
tree | 2cc6ce10939d7ebe5e07cf829a2d5ab88e063cf9 /fs/xfs/xfs_mount.h | |
parent | 2ce81633b2cfb87e74558efe282ea0248a67daff (diff) |
xfs: create a polled function to force inode inactivationdeferred-inactivation_2020-06-01
Create a polled version of xfs_inactive_force so that we can force
inactivation while holding a lock (usually the umount lock) without
tripping over the softlockup timer. This is for callers that hold vfs
locks while calling inactivation, which is currently unmount, iunlink
processing during mount, and rw->ro remount.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/xfs/xfs_mount.h')
-rw-r--r-- | fs/xfs/xfs_mount.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index c67cf932ef0c..c573f0d044f0 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -206,6 +206,11 @@ typedef struct xfs_mount { unsigned int *m_errortag; struct xfs_kobj m_errortag_kobj; #endif + /* + * Use this to wait for the inode inactivation workqueue to finish + * inactivating all the inodes. + */ + struct wait_queue_head m_inactive_wait; } xfs_mount_t; #define M_IGEO(mp) (&(mp)->m_ino_geo) |