aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-12-23 20:32:43 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-01-06 14:47:57 -0500
commit24d292b894273495f9664bb495e575f8cb7e8cac (patch)
tree5d2815f1e26c9616daa63cb117a6b28dff6266be /include
parentfca5238ef3232cd0cf4bf0457e751b3bb20912a9 (diff)
NFS: Move cl_state_owners and related fields to the nfs_server struct
NFSv4 migration needs to reassociate state owners from the source to the destination nfs_server data structures. To make that easier, move the cl_state_owners field to the nfs_server struct. cl_openowner_id and cl_lockowner_id accompany this move, as they are used in conjunction with cl_state_owners. The cl_lock field in the parent nfs_client continues to protect all three of these fields. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_fs_sb.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index 7f20c0b47a91..27255ffdbe10 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -47,11 +47,7 @@ struct nfs_client {
47 u64 cl_clientid; /* constant */ 47 u64 cl_clientid; /* constant */
48 unsigned long cl_state; 48 unsigned long cl_state;
49 49
50 struct rb_root cl_openowner_id;
51 struct rb_root cl_lockowner_id;
52
53 struct list_head cl_delegations; 50 struct list_head cl_delegations;
54 struct rb_root cl_state_owners;
55 spinlock_t cl_lock; 51 spinlock_t cl_lock;
56 52
57 unsigned long cl_lease_time; 53 unsigned long cl_lease_time;
@@ -150,6 +146,11 @@ struct nfs_server {
150 filesystem */ 146 filesystem */
151 struct pnfs_layoutdriver_type *pnfs_curr_ld; /* Active layout driver */ 147 struct pnfs_layoutdriver_type *pnfs_curr_ld; /* Active layout driver */
152 struct rpc_wait_queue roc_rpcwaitq; 148 struct rpc_wait_queue roc_rpcwaitq;
149
150 /* the following fields are protected by nfs_client->cl_lock */
151 struct rb_root state_owners;
152 struct rb_root openowner_id;
153 struct rb_root lockowner_id;
153#endif 154#endif
154 void (*destroy)(struct nfs_server *); 155 void (*destroy)(struct nfs_server *);
155 156