mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 02:09:42 +00:00
nfs41: support minorversion 1 for nfs4_check_lease
[moved nfs4_get_renew_cred related changes to "nfs41: introduce get_state_renewal_cred"] Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
29fba38b79
commit
8e69514f29
3 changed files with 6 additions and 1 deletions
|
@ -182,6 +182,7 @@ struct nfs4_state_recovery_ops {
|
|||
|
||||
struct nfs4_state_maintenance_ops {
|
||||
int (*sched_state_renewal)(struct nfs_client *, struct rpc_cred *);
|
||||
int (*renew_lease)(struct nfs_client *, struct rpc_cred *);
|
||||
};
|
||||
|
||||
extern const struct dentry_operations nfs4_dentry_operations;
|
||||
|
|
|
@ -4795,11 +4795,13 @@ struct nfs4_state_recovery_ops nfs4_nograce_recovery_ops = {
|
|||
|
||||
struct nfs4_state_maintenance_ops nfs40_state_renewal_ops = {
|
||||
.sched_state_renewal = nfs4_proc_async_renew,
|
||||
.renew_lease = nfs4_proc_renew,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_NFS_V4_1)
|
||||
struct nfs4_state_maintenance_ops nfs41_state_renewal_ops = {
|
||||
.sched_state_renewal = nfs41_proc_async_sequence,
|
||||
.renew_lease = nfs4_proc_sequence,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1083,6 +1083,8 @@ static int nfs4_do_reclaim(struct nfs_client *clp, const struct nfs4_state_recov
|
|||
static int nfs4_check_lease(struct nfs_client *clp)
|
||||
{
|
||||
struct rpc_cred *cred;
|
||||
struct nfs4_state_maintenance_ops *ops =
|
||||
nfs4_state_renewal_ops[clp->cl_minorversion];
|
||||
int status = -NFS4ERR_EXPIRED;
|
||||
|
||||
/* Is the client already known to have an expired lease? */
|
||||
|
@ -1094,7 +1096,7 @@ static int nfs4_check_lease(struct nfs_client *clp)
|
|||
if (cred == NULL)
|
||||
goto out;
|
||||
}
|
||||
status = nfs4_proc_renew(clp, cred);
|
||||
status = ops->renew_lease(clp, cred);
|
||||
put_rpccred(cred);
|
||||
out:
|
||||
nfs4_recovery_handle_error(clp, status);
|
||||
|
|
Loading…
Reference in a new issue