aboutsummaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_mount.h
diff options
context:
space:
mode:
authorGravatar Darrick J. Wong <djwong@kernel.org> 2021-01-22 16:48:44 -0800
committerGravatar Darrick J. Wong <djwong@kernel.org> 2021-02-03 09:18:50 -0800
commit894ecacf0f27fd1701c34f2946148b7f017bf984 (patch)
tree3231ce97c5718bc021572ac57f068f0690ce7ffc /fs/xfs/xfs_mount.h
parentxfs: rename block gc start and stop functions (diff)
downloadlinux-894ecacf0f27fd1701c34f2946148b7f017bf984.tar.gz
linux-894ecacf0f27fd1701c34f2946148b7f017bf984.tar.bz2
linux-894ecacf0f27fd1701c34f2946148b7f017bf984.zip
xfs: parallelize block preallocation garbage collection
Split the block preallocation garbage collection work into per-AG work items so that we can take advantage of parallelization. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/xfs_mount.h')
-rw-r--r--fs/xfs/xfs_mount.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
index 316e0d79cc40..659ad95fe3e0 100644
--- a/fs/xfs/xfs_mount.h
+++ b/fs/xfs/xfs_mount.h
@@ -177,8 +177,6 @@ typedef struct xfs_mount {
uint64_t m_resblks_avail;/* available reserved blocks */
uint64_t m_resblks_save; /* reserved blks @ remount,ro */
struct delayed_work m_reclaim_work; /* background inode reclaim */
- struct delayed_work m_blockgc_work; /* background prealloc blocks
- trimming */
struct xfs_kobj m_kobj;
struct xfs_kobj m_error_kobj;
struct xfs_kobj m_error_meta_kobj;
@@ -367,6 +365,9 @@ typedef struct xfs_perag {
/* Blocks reserved for the reverse mapping btree. */
struct xfs_ag_resv pag_rmapbt_resv;
+ /* background prealloc block trimming */
+ struct delayed_work pag_blockgc_work;
+
/* reference count */
uint8_t pagf_refcount_level;