aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4_fs.h
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-01-03 03:55:25 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-01-06 14:58:47 -0500
commitb4454fe1a7cb76a248d0641c9d68a44a1b8d9a1f (patch)
tree50ddc265e9700b1924e45ffce0f4583ba1013177 /fs/nfs/nfs4_fs.h
parent58d9714a44a79bba9b414da3ffbf3c753dc5915f (diff)
NFSv4: Remove requirement for machine creds for the "renew" operation
In RFC3530, the RENEW operation is allowed to use either the same principal, RPC security flavour and (if RPCSEC_GSS), the same mechanism and service that was used for SETCLIENTID_CONFIRM OR Any principal, RPC security flavour and service combination that currently has an OPEN file on the server. Choose the latter since that doesn't require us to keep credentials for the same principal for the entire duration of the mount. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r--fs/nfs/nfs4_fs.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index 75fe646c28ab..4a9c53e0793c 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -213,8 +213,8 @@ extern ssize_t nfs4_listxattr(struct dentry *, char *, size_t);
213extern int nfs4_map_errors(int err); 213extern int nfs4_map_errors(int err);
214extern int nfs4_proc_setclientid(struct nfs4_client *, u32, unsigned short); 214extern int nfs4_proc_setclientid(struct nfs4_client *, u32, unsigned short);
215extern int nfs4_proc_setclientid_confirm(struct nfs4_client *); 215extern int nfs4_proc_setclientid_confirm(struct nfs4_client *);
216extern int nfs4_proc_async_renew(struct nfs4_client *); 216extern int nfs4_proc_async_renew(struct nfs4_client *, struct rpc_cred *);
217extern int nfs4_proc_renew(struct nfs4_client *); 217extern int nfs4_proc_renew(struct nfs4_client *, struct rpc_cred *);
218extern int nfs4_do_close(struct inode *inode, struct nfs4_state *state); 218extern int nfs4_do_close(struct inode *inode, struct nfs4_state *state);
219extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *); 219extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *);
220extern int nfs4_open_revalidate(struct inode *, struct dentry *, int, struct nameidata *); 220extern int nfs4_open_revalidate(struct inode *, struct dentry *, int, struct nameidata *);
@@ -240,6 +240,7 @@ extern struct nfs4_client *nfs4_get_client(struct in_addr *);
240extern void nfs4_put_client(struct nfs4_client *clp); 240extern void nfs4_put_client(struct nfs4_client *clp);
241extern int nfs4_init_client(struct nfs4_client *clp); 241extern int nfs4_init_client(struct nfs4_client *clp);
242extern struct nfs4_client *nfs4_find_client(struct in_addr *); 242extern struct nfs4_client *nfs4_find_client(struct in_addr *);
243struct rpc_cred *nfs4_get_renew_cred(struct nfs4_client *clp);
243extern u32 nfs4_alloc_lockowner_id(struct nfs4_client *); 244extern u32 nfs4_alloc_lockowner_id(struct nfs4_client *);
244 245
245extern struct nfs4_state_owner * nfs4_get_state_owner(struct nfs_server *, struct rpc_cred *); 246extern struct nfs4_state_owner * nfs4_get_state_owner(struct nfs_server *, struct rpc_cred *);