diff options
author | Andy Adamson <andros@netapp.com> | 2009-04-01 09:22:47 -0400 |
---|---|---|
committer | Benny Halevy <bhalevy@panasas.com> | 2009-06-17 15:25:11 -0400 |
commit | 591d71cbde186cc498c0d9718dc17f2fadf7c643 (patch) | |
tree | 0cda78617611b2c3d3fb058af3cc0513ead80433 /fs/nfs/nfs4_fs.h | |
parent | a7b721037f898b29a8083da59b1dccd3da385b07 (diff) |
nfs41: establish sessions-based clientid
nfsv4.1 clientid is established via EXCHANGE_ID rather than
SETCLIENTID{,_CONFIRM}
This is implemented using a new establish_clid method in
nfs4_state_recovery_ops.
nfs41: establish clientid via exchange id only if cred != NULL
>From 2.6.26 reclaimer() uses machine cred for setting up the client id
therefore it is never expected to be NULL.
Signed-off-by: Rahul Iyer <iyer@netapp.com>
[removed dprintk]
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
[nfs41: lease renewal]
[revamped patch for new nfs4_state_manager design]
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, 4 insertions, 2 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index 2b141c5758ec..df9e36319499 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h | |||
@@ -178,6 +178,7 @@ struct nfs4_state_recovery_ops { | |||
178 | int state_flag_bit; | 178 | int state_flag_bit; |
179 | int (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *); | 179 | int (*recover_open)(struct nfs4_state_owner *, struct nfs4_state *); |
180 | int (*recover_lock)(struct nfs4_state *, struct file_lock *); | 180 | int (*recover_lock)(struct nfs4_state *, struct file_lock *); |
181 | int (*establish_clid)(struct nfs_client *, struct rpc_cred *); | ||
181 | }; | 182 | }; |
182 | 183 | ||
183 | struct nfs4_state_maintenance_ops { | 184 | struct nfs4_state_maintenance_ops { |
@@ -200,6 +201,7 @@ extern int nfs4_proc_setclientid(struct nfs_client *, u32, unsigned short, struc | |||
200 | extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct rpc_cred *); | 201 | extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct rpc_cred *); |
201 | extern int nfs4_proc_async_renew(struct nfs_client *, struct rpc_cred *); | 202 | extern int nfs4_proc_async_renew(struct nfs_client *, struct rpc_cred *); |
202 | extern int nfs4_proc_renew(struct nfs_client *, struct rpc_cred *); | 203 | extern int nfs4_proc_renew(struct nfs_client *, struct rpc_cred *); |
204 | extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *); | ||
203 | extern int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait); | 205 | extern int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait); |
204 | extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *); | 206 | extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *); |
205 | extern int nfs4_open_revalidate(struct inode *, struct dentry *, int, struct nameidata *); | 207 | extern int nfs4_open_revalidate(struct inode *, struct dentry *, int, struct nameidata *); |
@@ -207,8 +209,8 @@ extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fh | |||
207 | extern int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name, | 209 | extern int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name, |
208 | struct nfs4_fs_locations *fs_locations, struct page *page); | 210 | struct nfs4_fs_locations *fs_locations, struct page *page); |
209 | 211 | ||
210 | extern struct nfs4_state_recovery_ops nfs4_reboot_recovery_ops; | 212 | extern struct nfs4_state_recovery_ops *nfs4_reboot_recovery_ops[]; |
211 | extern struct nfs4_state_recovery_ops nfs4_nograce_recovery_ops; | 213 | extern struct nfs4_state_recovery_ops *nfs4_nograce_recovery_ops[]; |
212 | #if defined(CONFIG_NFS_V4_1) | 214 | #if defined(CONFIG_NFS_V4_1) |
213 | extern int nfs4_setup_sequence(struct nfs_client *clp, | 215 | extern int nfs4_setup_sequence(struct nfs_client *clp, |
214 | struct nfs4_sequence_args *args, struct nfs4_sequence_res *res, | 216 | struct nfs4_sequence_args *args, struct nfs4_sequence_res *res, |