5 #include <linux/list.h>
9 * nfs fs inode data in memory
11 struct nfs_inode_info
{
13 * The 64bit 'inode number'
29 * read_cache_jiffies is when we started read-caching this inode,
30 * and read_cache_mtime is the mtime of the inode at that time.
31 * attrtimeo is for how long the cached information is assumed
32 * to be valid. A successful attribute revalidation doubles
33 * attrtimeo (up to acregmax/acdirmax), a failure resets it to
36 * We need to revalidate the cached attrs for this inode if
38 * jiffies - read_cache_jiffies > attrtimeo
40 * and invalidate any cached data/flush out any dirty pages if
43 * mtime != read_cache_mtime
45 unsigned long read_cache_jiffies
;
46 __u64 read_cache_ctime
;
47 __u64 read_cache_mtime
;
48 __u64 read_cache_atime
;
49 __u64 read_cache_isize
;
50 unsigned long attrtimeo
;
51 unsigned long attrtimeo_timestamp
;
54 * This is the cookie verifier used for NFSv3 readdir
60 * This is the list of dirty unwritten pages.
62 struct list_head read
;
63 struct list_head dirty
;
64 struct list_head commit
;
65 struct list_head writeback
;
72 /* Flush daemon info */
73 struct inode
*hash_next
,
75 unsigned long nextscan
;
79 * Legal inode flag values
81 #define NFS_INO_STALE 0x0001 /* possible stale inode */
82 #define NFS_INO_ADVISE_RDPLUS 0x0002 /* advise readdirplus */
83 #define NFS_INO_REVALIDATING 0x0004 /* revalidating attrs */
84 #define NFS_IS_SNAPSHOT 0x0010 /* a snapshot file */
85 #define NFS_INO_FLUSH 0x0020 /* inode is due for flushing */
90 struct nfs_lock_info
{
93 struct nlm_host
*host
;
99 #define NFS_LCK_GRANTED 0x0001 /* lock has been granted */