diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-07-02 13:58:33 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-07-10 23:40:39 -0400 |
commit | 9f958ab8858c75df800e0121b1920182820cbc39 (patch) | |
tree | 754bb9d68aac077825b40796e2acf716bce5df08 /include | |
parent | 88d9093997e1c73ca98db41b5605dbde7783845f (diff) |
NFSv4: Reduce the chances of an open_owner identifier collision
Currently we just use a 32-bit counter.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nfs_fs_sb.h | 5 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index 2cef0a68aa77..0cac49bc0955 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h | |||
@@ -34,7 +34,8 @@ struct nfs_client { | |||
34 | nfs4_verifier cl_confirm; | 34 | nfs4_verifier cl_confirm; |
35 | unsigned long cl_state; | 35 | unsigned long cl_state; |
36 | 36 | ||
37 | u32 cl_lockowner_id; | 37 | struct rb_root cl_openowner_id; |
38 | struct rb_root cl_lockowner_id; | ||
38 | 39 | ||
39 | /* | 40 | /* |
40 | * The following rwsem ensures exclusive access to the server | 41 | * The following rwsem ensures exclusive access to the server |
@@ -43,7 +44,7 @@ struct nfs_client { | |||
43 | struct rw_semaphore cl_sem; | 44 | struct rw_semaphore cl_sem; |
44 | 45 | ||
45 | struct list_head cl_delegations; | 46 | struct list_head cl_delegations; |
46 | struct list_head cl_state_owners; | 47 | struct rb_root cl_state_owners; |
47 | spinlock_t cl_lock; | 48 | spinlock_t cl_lock; |
48 | 49 | ||
49 | unsigned long cl_lease_time; | 50 | unsigned long cl_lease_time; |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index f7100df3a690..38d77681cf27 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -119,7 +119,7 @@ struct nfs_openargs { | |||
119 | struct nfs_seqid * seqid; | 119 | struct nfs_seqid * seqid; |
120 | int open_flags; | 120 | int open_flags; |
121 | __u64 clientid; | 121 | __u64 clientid; |
122 | __u32 id; | 122 | __u64 id; |
123 | union { | 123 | union { |
124 | struct iattr * attrs; /* UNCHECKED, GUARDED */ | 124 | struct iattr * attrs; /* UNCHECKED, GUARDED */ |
125 | nfs4_verifier verifier; /* EXCLUSIVE */ | 125 | nfs4_verifier verifier; /* EXCLUSIVE */ |
@@ -181,7 +181,7 @@ struct nfs_closeres { | |||
181 | * */ | 181 | * */ |
182 | struct nfs_lowner { | 182 | struct nfs_lowner { |
183 | __u64 clientid; | 183 | __u64 clientid; |
184 | u32 id; | 184 | __u64 id; |
185 | }; | 185 | }; |
186 | 186 | ||
187 | struct nfs_lock_args { | 187 | struct nfs_lock_args { |