summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-07-25 11:28:18 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-09-22 23:24:29 -0400
commitcfcea3e8c66c2dcde98d5c2693d4bff50b5cac97 (patch)
treeee7b995a48c43de7355fa33079ee7aaad020d6f3 /include/linux
parent1c3c07e9f6cc50dab2aeb8051325e317d4f6c70e (diff)
downloadlinux-cfcea3e8c66c2dcde98d5c2693d4bff50b5cac97.tar.gz
linux-cfcea3e8c66c2dcde98d5c2693d4bff50b5cac97.tar.bz2
linux-cfcea3e8c66c2dcde98d5c2693d4bff50b5cac97.zip
NFS: Add a global LRU list for the ACCESS cache
...in order to allow the addition of a memory shrinker. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/nfs_fs.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index cc013ed2e52e..a36e01cd6321 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -71,6 +71,7 @@
*/
struct nfs_access_entry {
struct rb_node rb_node;
+ struct list_head lru;
unsigned long jiffies;
struct rpc_cred * cred;
int mask;
@@ -148,6 +149,8 @@ struct nfs_inode {
atomic_t data_updates;
struct rb_root access_cache;
+ struct list_head access_cache_entry_lru;
+ struct list_head access_cache_inode_lru;
#ifdef CONFIG_NFS_V3_ACL
struct posix_acl *acl_access;
struct posix_acl *acl_default;
@@ -201,6 +204,7 @@ struct nfs_inode {
#define NFS_INO_REVALIDATING (0) /* revalidating attrs */
#define NFS_INO_ADVISE_RDPLUS (1) /* advise readdirplus */
#define NFS_INO_STALE (2) /* possible stale inode */
+#define NFS_INO_ACL_LRU_SET (3) /* Inode is on the LRU list */
static inline struct nfs_inode *NFS_I(struct inode *inode)
{