diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2010-12-23 20:32:43 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-01-06 14:47:57 -0500 |
commit | 24d292b894273495f9664bb495e575f8cb7e8cac (patch) | |
tree | 5d2815f1e26c9616daa63cb117a6b28dff6266be /include | |
parent | fca5238ef3232cd0cf4bf0457e751b3bb20912a9 (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.h | 9 |
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 | ||