summaryrefslogtreecommitdiffstats
path: root/include/linux/nfs_fs.h
diff options
context:
space:
mode:
authorTrond Myklebust2006-07-25 17:28:18 +0200
committerTrond Myklebust2006-09-23 05:24:29 +0200
commitcfcea3e8c66c2dcde98d5c2693d4bff50b5cac97 (patch)
treeee7b995a48c43de7355fa33079ee7aaad020d6f3 /include/linux/nfs_fs.h
parentNFS: Add a new ACCESS rpc call cache to the linux nfs client (diff)
downloadkernel-qcow2-linux-cfcea3e8c66c2dcde98d5c2693d4bff50b5cac97.tar.gz
kernel-qcow2-linux-cfcea3e8c66c2dcde98d5c2693d4bff50b5cac97.tar.xz
kernel-qcow2-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/nfs_fs.h')
-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)
{