aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4_fs.h
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2009-04-01 09:22:47 -0400
committerBenny Halevy <bhalevy@panasas.com>2009-06-17 15:25:11 -0400
commit591d71cbde186cc498c0d9718dc17f2fadf7c643 (patch)
tree0cda78617611b2c3d3fb058af3cc0513ead80433 /fs/nfs/nfs4_fs.h
parenta7b721037f898b29a8083da59b1dccd3da385b07 (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.h6
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
183struct nfs4_state_maintenance_ops { 184struct nfs4_state_maintenance_ops {
@@ -200,6 +201,7 @@ extern int nfs4_proc_setclientid(struct nfs_client *, u32, unsigned short, struc
200extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct rpc_cred *); 201extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct rpc_cred *);
201extern int nfs4_proc_async_renew(struct nfs_client *, struct rpc_cred *); 202extern int nfs4_proc_async_renew(struct nfs_client *, struct rpc_cred *);
202extern int nfs4_proc_renew(struct nfs_client *, struct rpc_cred *); 203extern int nfs4_proc_renew(struct nfs_client *, struct rpc_cred *);
204extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *);
203extern int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait); 205extern int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait);
204extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *); 206extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *);
205extern int nfs4_open_revalidate(struct inode *, struct dentry *, int, struct nameidata *); 207extern 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
207extern int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name, 209extern 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
210extern struct nfs4_state_recovery_ops nfs4_reboot_recovery_ops; 212extern struct nfs4_state_recovery_ops *nfs4_reboot_recovery_ops[];
211extern struct nfs4_state_recovery_ops nfs4_nograce_recovery_ops; 213extern struct nfs4_state_recovery_ops *nfs4_nograce_recovery_ops[];
212#if defined(CONFIG_NFS_V4_1) 214#if defined(CONFIG_NFS_V4_1)
213extern int nfs4_setup_sequence(struct nfs_client *clp, 215extern 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,