xfs: convert inode shrinker to per-filesystem contexts
Now the shrinker passes us a context, wire up a shrinker context per filesystem. This allows us to remove the global mount list and the locking problems that introduced. It also means that a shrinker call does not need to traverse clean filesystems before finding a filesystem with reclaimable inodes. This significantly reduces scanning overhead when lots of filesystems are present. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:

committed by
Dave Chinner

parent
7f8275d0d6
commit
70e60ce715
@@ -259,7 +259,7 @@ typedef struct xfs_mount {
|
||||
wait_queue_head_t m_wait_single_sync_task;
|
||||
__int64_t m_update_flags; /* sb flags we need to update
|
||||
on the next remount,rw */
|
||||
struct list_head m_mplist; /* inode shrinker mount list */
|
||||
struct shrinker m_inode_shrink; /* inode reclaim shrinker */
|
||||
} xfs_mount_t;
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user