blob: 885f21f01de4142ff864181a7aac8f5f67431cdb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#ifndef _NFS_FS_I
#define _NFS_FS_I
#include <linux/nfs.h>
#include <linux/pipe_fs_i.h>
/*
* nfs fs inode data in memory
*/
struct nfs_inode_info {
/*
* This is a place holder so named pipes on NFS filesystems
* work (more or less correctly). This must be first in the
* struct because the data is really accessed via inode->u.pipe_i.
*/
struct pipe_inode_info pipeinfo;
/*
* Various flags
*/
unsigned short flags;
/*
* read_cache_jiffies is when we started read-caching this inode,
* and read_cache_mtime is the mtime of the inode at that time.
* attrtimeo is for how long the cached information is assumed
* to be valid. A successful attribute revalidation doubles
* attrtimeo (up to acregmax/acdirmax), a failure resets it to
* acregmin/acdirmin.
*
* We need to revalidate the cached attrs for this inode if
*
* jiffies - read_cache_jiffies > attrtimeo
*
* and invalidate any cached data/flush out any dirty pages if
* we find that
*
* mtime != read_cache_mtime
*/
unsigned long read_cache_jiffies;
unsigned long read_cache_mtime;
unsigned long attrtimeo;
/*
* This is the list of dirty unwritten pages.
* NFSv3 will want to add a list for written but uncommitted
* pages.
*/
struct nfs_wreq * writeback;
};
/*
* Legal inode flag values
*/
#define NFS_INO_REVALIDATE 0x0001 /* revalidating attrs */
#define NFS_IS_SNAPSHOT 0x0010 /* a snapshot file */
/*
* NFS lock info
*/
struct nfs_lock_info {
u32 state;
u32 flags;
};
/*
* Lock flag values
*/
#define NFS_LCK_GRANTED 0x0001 /* lock has been granted */
#endif
|