diff options
Diffstat (limited to 'include/linux/nfs_fs_sb.h')
-rw-r--r-- | include/linux/nfs_fs_sb.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index fc20d6b934fb..a727657e0ad3 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h | |||
@@ -7,6 +7,66 @@ | |||
7 | struct nfs_iostats; | 7 | struct nfs_iostats; |
8 | 8 | ||
9 | /* | 9 | /* |
10 | * The nfs_client identifies our client state to the server. | ||
11 | */ | ||
12 | struct nfs_client { | ||
13 | atomic_t cl_count; | ||
14 | int cl_cons_state; /* current construction state (-ve: init error) */ | ||
15 | #define NFS_CS_READY 0 /* ready to be used */ | ||
16 | #define NFS_CS_INITING 1 /* busy initialising */ | ||
17 | int cl_nfsversion; /* NFS protocol version */ | ||
18 | unsigned long cl_res_state; /* NFS resources state */ | ||
19 | #define NFS_CS_RPCIOD 0 /* - rpciod started */ | ||
20 | #define NFS_CS_CALLBACK 1 /* - callback started */ | ||
21 | #define NFS_CS_IDMAP 2 /* - idmap started */ | ||
22 | struct sockaddr_in cl_addr; /* server identifier */ | ||
23 | char * cl_hostname; /* hostname of server */ | ||
24 | struct list_head cl_share_link; /* link in global client list */ | ||
25 | struct list_head cl_superblocks; /* List of nfs_server structs */ | ||
26 | |||
27 | struct rpc_clnt * cl_rpcclient; | ||
28 | |||
29 | #ifdef CONFIG_NFS_V4 | ||
30 | u64 cl_clientid; /* constant */ | ||
31 | nfs4_verifier cl_confirm; | ||
32 | unsigned long cl_state; | ||
33 | |||
34 | u32 cl_lockowner_id; | ||
35 | |||
36 | /* | ||
37 | * The following rwsem ensures exclusive access to the server | ||
38 | * while we recover the state following a lease expiration. | ||
39 | */ | ||
40 | struct rw_semaphore cl_sem; | ||
41 | |||
42 | struct list_head cl_delegations; | ||
43 | struct list_head cl_state_owners; | ||
44 | struct list_head cl_unused; | ||
45 | int cl_nunused; | ||
46 | spinlock_t cl_lock; | ||
47 | |||
48 | unsigned long cl_lease_time; | ||
49 | unsigned long cl_last_renewal; | ||
50 | struct work_struct cl_renewd; | ||
51 | struct work_struct cl_recoverd; | ||
52 | |||
53 | struct rpc_wait_queue cl_rpcwaitq; | ||
54 | |||
55 | /* used for the setclientid verifier */ | ||
56 | struct timespec cl_boot_time; | ||
57 | |||
58 | /* idmapper */ | ||
59 | struct idmap * cl_idmap; | ||
60 | |||
61 | /* Our own IP address, as a null-terminated string. | ||
62 | * This is used to generate the clientid, and the callback address. | ||
63 | */ | ||
64 | char cl_ipaddr[16]; | ||
65 | unsigned char cl_id_uniquifier; | ||
66 | #endif | ||
67 | }; | ||
68 | |||
69 | /* | ||
10 | * NFS client parameters stored in the superblock. | 70 | * NFS client parameters stored in the superblock. |
11 | */ | 71 | */ |
12 | struct nfs_server { | 72 | struct nfs_server { |