diff options
author | Dave Chinner <dchinner@redhat.com> | 2010-04-29 09:55:50 +1000 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-04-29 16:22:13 -0500 |
commit | 9bf729c0af67897ea8498ce17c29b0683f7f2028 (patch) | |
tree | 9e6350fd9da5aef0b53ddeddd82f618ae16bf931 /fs/xfs/quota | |
parent | 79dba2eaa771c3173957eccfd288e0e0d12e4d3f (diff) | |
download | lwn-9bf729c0af67897ea8498ce17c29b0683f7f2028.tar.gz lwn-9bf729c0af67897ea8498ce17c29b0683f7f2028.zip |
xfs: add a shrinker to background inode reclaim
On low memory boxes or those with highmem, kernel can OOM before the
background reclaims inodes via xfssyncd. Add a shrinker to run inode
reclaim so that it inode reclaim is expedited when memory is low.
This is more complex than it needs to be because the VM folk don't
want a context added to the shrinker infrastructure. Hence we need
to add a global list of XFS mount structures so the shrinker can
traverse them.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/quota')
-rw-r--r-- | fs/xfs/quota/xfs_qm_syscalls.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c index 5d0ee8d492db..50bee07d6b0e 100644 --- a/fs/xfs/quota/xfs_qm_syscalls.c +++ b/fs/xfs/quota/xfs_qm_syscalls.c @@ -891,7 +891,8 @@ xfs_qm_dqrele_all_inodes( uint flags) { ASSERT(mp->m_quotainfo); - xfs_inode_ag_iterator(mp, xfs_dqrele_inode, flags, XFS_ICI_NO_TAG, 0); + xfs_inode_ag_iterator(mp, xfs_dqrele_inode, flags, + XFS_ICI_NO_TAG, 0, NULL); } /*------------------------------------------------------------------------*/ |