nfsd: simplify nfsd4_check_open_reclaim

[ Upstream commit 1722b04624806ced51693f546edb83e8b2297a77 ]

The set_client() was already taken care of by process_open1().

The comments here are mostly redundant with the code.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
J. Bruce Fields
2021-01-21 17:57:44 -05:00
committed by Greg Kroah-Hartman
parent 25ac4fdbdc
commit bc6015541c
3 changed files with 5 additions and 19 deletions

View File

@@ -428,8 +428,7 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
goto out; goto out;
break; break;
case NFS4_OPEN_CLAIM_PREVIOUS: case NFS4_OPEN_CLAIM_PREVIOUS:
status = nfs4_check_open_reclaim(&open->op_clientid, status = nfs4_check_open_reclaim(cstate->clp);
cstate, nn);
if (status) if (status)
goto out; goto out;
open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED; open->op_openowner->oo_flags |= NFS4_OO_CONFIRMED;

View File

@@ -7248,25 +7248,13 @@ nfsd4_find_reclaim_client(struct xdr_netobj name, struct nfsd_net *nn)
return NULL; return NULL;
} }
/*
* Called from OPEN. Look for clientid in reclaim list.
*/
__be32 __be32
nfs4_check_open_reclaim(clientid_t *clid, nfs4_check_open_reclaim(struct nfs4_client *clp)
struct nfsd4_compound_state *cstate,
struct nfsd_net *nn)
{ {
__be32 status; if (test_bit(NFSD4_CLIENT_RECLAIM_COMPLETE, &clp->cl_flags))
/* find clientid in conf_id_hashtbl */
status = set_client(clid, cstate, nn);
if (status)
return nfserr_reclaim_bad;
if (test_bit(NFSD4_CLIENT_RECLAIM_COMPLETE, &cstate->clp->cl_flags))
return nfserr_no_grace; return nfserr_no_grace;
if (nfsd4_client_record_check(cstate->clp)) if (nfsd4_client_record_check(clp))
return nfserr_reclaim_bad; return nfserr_reclaim_bad;
return nfs_ok; return nfs_ok;

View File

@@ -649,8 +649,7 @@ void nfs4_remove_reclaim_record(struct nfs4_client_reclaim *, struct nfsd_net *)
extern void nfs4_release_reclaim(struct nfsd_net *); extern void nfs4_release_reclaim(struct nfsd_net *);
extern struct nfs4_client_reclaim *nfsd4_find_reclaim_client(struct xdr_netobj name, extern struct nfs4_client_reclaim *nfsd4_find_reclaim_client(struct xdr_netobj name,
struct nfsd_net *nn); struct nfsd_net *nn);
extern __be32 nfs4_check_open_reclaim(clientid_t *clid, extern __be32 nfs4_check_open_reclaim(struct nfs4_client *);
struct nfsd4_compound_state *cstate, struct nfsd_net *nn);
extern void nfsd4_probe_callback(struct nfs4_client *clp); extern void nfsd4_probe_callback(struct nfs4_client *clp);
extern void nfsd4_probe_callback_sync(struct nfs4_client *clp); extern void nfsd4_probe_callback_sync(struct nfs4_client *clp);
extern void nfsd4_change_callback(struct nfs4_client *clp, struct nfs4_cb_conn *); extern void nfsd4_change_callback(struct nfs4_client *clp, struct nfs4_cb_conn *);