提交 8e69514f 编写于 作者: B Benny Halevy

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: NBenny Halevy <bhalevy@panasas.com>
Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 29fba38b
...@@ -182,6 +182,7 @@ struct nfs4_state_recovery_ops { ...@@ -182,6 +182,7 @@ struct nfs4_state_recovery_ops {
struct nfs4_state_maintenance_ops { struct nfs4_state_maintenance_ops {
int (*sched_state_renewal)(struct nfs_client *, struct rpc_cred *); 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; extern const struct dentry_operations nfs4_dentry_operations;
......
...@@ -4795,11 +4795,13 @@ struct nfs4_state_recovery_ops nfs4_nograce_recovery_ops = { ...@@ -4795,11 +4795,13 @@ struct nfs4_state_recovery_ops nfs4_nograce_recovery_ops = {
struct nfs4_state_maintenance_ops nfs40_state_renewal_ops = { struct nfs4_state_maintenance_ops nfs40_state_renewal_ops = {
.sched_state_renewal = nfs4_proc_async_renew, .sched_state_renewal = nfs4_proc_async_renew,
.renew_lease = nfs4_proc_renew,
}; };
#if defined(CONFIG_NFS_V4_1) #if defined(CONFIG_NFS_V4_1)
struct nfs4_state_maintenance_ops nfs41_state_renewal_ops = { struct nfs4_state_maintenance_ops nfs41_state_renewal_ops = {
.sched_state_renewal = nfs41_proc_async_sequence, .sched_state_renewal = nfs41_proc_async_sequence,
.renew_lease = nfs4_proc_sequence,
}; };
#endif #endif
......
...@@ -1083,6 +1083,8 @@ static int nfs4_do_reclaim(struct nfs_client *clp, const struct nfs4_state_recov ...@@ -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) static int nfs4_check_lease(struct nfs_client *clp)
{ {
struct rpc_cred *cred; struct rpc_cred *cred;
struct nfs4_state_maintenance_ops *ops =
nfs4_state_renewal_ops[clp->cl_minorversion];
int status = -NFS4ERR_EXPIRED; int status = -NFS4ERR_EXPIRED;
/* Is the client already known to have an expired lease? */ /* Is the client already known to have an expired lease? */
...@@ -1094,7 +1096,7 @@ static int nfs4_check_lease(struct nfs_client *clp) ...@@ -1094,7 +1096,7 @@ static int nfs4_check_lease(struct nfs_client *clp)
if (cred == NULL) if (cred == NULL)
goto out; goto out;
} }
status = nfs4_proc_renew(clp, cred); status = ops->renew_lease(clp, cred);
put_rpccred(cred); put_rpccred(cred);
out: out:
nfs4_recovery_handle_error(clp, status); nfs4_recovery_handle_error(clp, status);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册