aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_sync.h
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2011-07-08 00:14:46 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-07-20 20:47:42 -0400
commit8daaa83145ef1f0a146680618328dbbd0fa76939 (patch)
tree8ca49f03ed2fc4dada7283a6e109b13e3fb5501e /fs/xfs/linux-2.6/xfs_sync.h
parent8ab47664d51a69ea79fe70bb07ca80664f74f76b (diff)
xfs: make use of new shrinker callout for the inode cache
Convert the inode reclaim shrinker to use the new per-sb shrinker operations. This allows much bigger reclaim batches to be used, and allows the XFS inode cache to be shrunk in proportion with the VFS dentry and inode caches. This avoids the problem of the VFS caches being shrunk significantly before the XFS inode cache is shrunk resulting in imbalances in the caches during reclaim. Signed-off-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_sync.h')
-rw-r--r--fs/xfs/linux-2.6/xfs_sync.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_sync.h b/fs/xfs/linux-2.6/xfs_sync.h
index e3a6ad27415f..2e1568597764 100644
--- a/fs/xfs/linux-2.6/xfs_sync.h
+++ b/fs/xfs/linux-2.6/xfs_sync.h
@@ -43,6 +43,8 @@ void xfs_quiesce_attr(struct xfs_mount *mp);
43void xfs_flush_inodes(struct xfs_inode *ip); 43void xfs_flush_inodes(struct xfs_inode *ip);
44 44
45int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); 45int xfs_reclaim_inodes(struct xfs_mount *mp, int mode);
46int xfs_reclaim_inodes_count(struct xfs_mount *mp);
47void xfs_reclaim_inodes_nr(struct xfs_mount *mp, int nr_to_scan);
46 48
47void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); 49void xfs_inode_set_reclaim_tag(struct xfs_inode *ip);
48void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); 50void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip);
@@ -54,7 +56,4 @@ int xfs_inode_ag_iterator(struct xfs_mount *mp,
54 int (*execute)(struct xfs_inode *ip, struct xfs_perag *pag, int flags), 56 int (*execute)(struct xfs_inode *ip, struct xfs_perag *pag, int flags),
55 int flags); 57 int flags);
56 58
57void xfs_inode_shrinker_register(struct xfs_mount *mp);
58void xfs_inode_shrinker_unregister(struct xfs_mount *mp);
59
60#endif 59#endif