summaryrefslogtreecommitdiff
path: root/include/linux/nfs_fs_sb.h
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-12-24 01:32:43 +0000
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-01-06 14:47:57 -0500
commit24d292b894273495f9664bb495e575f8cb7e8cac (patch)
tree5d2815f1e26c9616daa63cb117a6b28dff6266be /include/linux/nfs_fs_sb.h
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/linux/nfs_fs_sb.h')
-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 {
u64 cl_clientid; /* constant */
unsigned long cl_state;
- struct rb_root cl_openowner_id;
- struct rb_root cl_lockowner_id;
-
struct list_head cl_delegations;
- struct rb_root cl_state_owners;
spinlock_t cl_lock;
unsigned long cl_lease_time;
@@ -150,6 +146,11 @@ struct nfs_server {
filesystem */
struct pnfs_layoutdriver_type *pnfs_curr_ld; /* Active layout driver */
struct rpc_wait_queue roc_rpcwaitq;
+
+ /* the following fields are protected by nfs_client->cl_lock */
+ struct rb_root state_owners;
+ struct rb_root openowner_id;
+ struct rb_root lockowner_id;
#endif
void (*destroy)(struct nfs_server *);