5 #include <linux/list.h>
9 * nfs fs inode data in memory
11 struct nfs_inode_info {
13 * The 64bit 'inode number'
28 * read_cache_jiffies is when we started read-caching this inode,
29 * and read_cache_mtime is the mtime of the inode at that time.
30 * attrtimeo is for how long the cached information is assumed
31 * to be valid. A successful attribute revalidation doubles
32 * attrtimeo (up to acregmax/acdirmax), a failure resets it to
35 * We need to revalidate the cached attrs for this inode if
37 * jiffies - read_cache_jiffies > attrtimeo
39 * and invalidate any cached data/flush out any dirty pages if
42 * mtime != read_cache_mtime
44 unsigned long read_cache_jiffies;
45 __u64 read_cache_ctime;
46 __u64 read_cache_mtime;
47 __u64 read_cache_isize;
48 unsigned long attrtimeo;
49 unsigned long attrtimeo_timestamp;
52 * Timestamp that dates the change made to read_cache_mtime.
53 * This is of use for dentry revalidation
55 unsigned long cache_mtime_jiffies;
58 * This is the cookie verifier used for NFSv3 readdir
64 * This is the list of dirty unwritten pages.
66 struct list_head read;
67 struct list_head dirty;
68 struct list_head commit;
69 struct list_head writeback;
76 /* Credentials for shared mmap */
77 struct rpc_cred *mm_cred;
81 * Legal inode flag values
83 #define NFS_INO_STALE 0x0001 /* possible stale inode */
84 #define NFS_INO_ADVISE_RDPLUS 0x0002 /* advise readdirplus */
85 #define NFS_INO_REVALIDATING 0x0004 /* revalidating attrs */
86 #define NFS_IS_SNAPSHOT 0x0010 /* a snapshot file */
87 #define NFS_INO_FLUSH 0x0020 /* inode is due for flushing */
92 struct nfs_lock_info {
95 struct nlm_host *host;
101 #define NFS_LCK_GRANTED 0x0001 /* lock has been granted */
102 #define NFS_LCK_RECLAIM 0x0002 /* lock marked for reclaiming */