diff options
author | Benny Halevy <bhalevy@panasas.com> | 2009-04-01 09:22:44 -0400 |
---|---|---|
committer | Benny Halevy <bhalevy@panasas.com> | 2009-06-17 15:25:09 -0400 |
commit | 29fba38b793225798104a1ac870e6807ebd078dd (patch) | |
tree | 35b5fb1999a29b1b43ad1c4d1c816f42942bca99 /fs/nfs/nfs4_fs.h | |
parent | b069d94af7785750228287c35f9ce5c463515726 (diff) |
nfs41: lease renewal
Send a NFSv4.1 SEQUENCE op rather than RENEW that was deprecated in
minorversion 1.
Use the nfs_client minorversion to select reboot_recover/
network_partition_recovery/state_renewal ops.
Note: we use reclaimer to create the nfs41 session before there are any
cl_superblocks for the nfs_client.
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
[nfs41: check for session not minorversion]
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
[revamped patch for new nfs4_state_manager design]
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
[nfs41: obliterate nfs4_state_recovery_ops.renew_lease method]
moved to nfs4_state_maintenance_ops
[also undid per-minorversion nfs4_state_recovery_ops here]
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r-- | fs/nfs/nfs4_fs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index 7cc1cddfd9ba..ae25cc21fe70 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h | |||
@@ -180,6 +180,10 @@ struct nfs4_state_recovery_ops { | |||
180 | int (*recover_lock)(struct nfs4_state *, struct file_lock *); | 180 | int (*recover_lock)(struct nfs4_state *, struct file_lock *); |
181 | }; | 181 | }; |
182 | 182 | ||
183 | struct nfs4_state_maintenance_ops { | ||
184 | int (*sched_state_renewal)(struct nfs_client *, struct rpc_cred *); | ||
185 | }; | ||
186 | |||
183 | extern const struct dentry_operations nfs4_dentry_operations; | 187 | extern const struct dentry_operations nfs4_dentry_operations; |
184 | extern const struct inode_operations nfs4_dir_inode_operations; | 188 | extern const struct inode_operations nfs4_dir_inode_operations; |
185 | 189 | ||
@@ -220,6 +224,8 @@ static inline int nfs4_setup_sequence(struct nfs_client *clp, | |||
220 | } | 224 | } |
221 | #endif /* CONFIG_NFS_V4_1 */ | 225 | #endif /* CONFIG_NFS_V4_1 */ |
222 | 226 | ||
227 | extern struct nfs4_state_maintenance_ops *nfs4_state_renewal_ops[]; | ||
228 | |||
223 | extern const u32 nfs4_fattr_bitmap[2]; | 229 | extern const u32 nfs4_fattr_bitmap[2]; |
224 | extern const u32 nfs4_statfs_bitmap[2]; | 230 | extern const u32 nfs4_statfs_bitmap[2]; |
225 | extern const u32 nfs4_pathconf_bitmap[2]; | 231 | extern const u32 nfs4_pathconf_bitmap[2]; |