mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 02:05:33 +00:00
nfsd4: fix, consolidate client_has_state
Whoops: first, I reimplemented the already-existing has_resources without noticing; second, I got the test backwards. I did pick a better name, though. Combine the two.... Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
b9831b59f3
commit
6eccece90b
@ -1537,9 +1537,9 @@ static bool client_has_state(struct nfs4_client *clp)
|
|||||||
*
|
*
|
||||||
* Also note we should probably be using this in 4.0 case too.
|
* Also note we should probably be using this in 4.0 case too.
|
||||||
*/
|
*/
|
||||||
return list_empty(&clp->cl_openowners)
|
return !list_empty(&clp->cl_openowners)
|
||||||
&& list_empty(&clp->cl_delegations)
|
|| !list_empty(&clp->cl_delegations)
|
||||||
&& list_empty(&clp->cl_sessions);
|
|| !list_empty(&clp->cl_sessions);
|
||||||
}
|
}
|
||||||
|
|
||||||
__be32
|
__be32
|
||||||
@ -2069,13 +2069,6 @@ out:
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool has_resources(struct nfs4_client *clp)
|
|
||||||
{
|
|
||||||
return !list_empty(&clp->cl_openowners)
|
|
||||||
|| !list_empty(&clp->cl_delegations)
|
|
||||||
|| !list_empty(&clp->cl_sessions);
|
|
||||||
}
|
|
||||||
|
|
||||||
__be32
|
__be32
|
||||||
nfsd4_destroy_clientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_destroy_clientid *dc)
|
nfsd4_destroy_clientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_destroy_clientid *dc)
|
||||||
{
|
{
|
||||||
@ -2089,7 +2082,7 @@ nfsd4_destroy_clientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *csta
|
|||||||
if (conf) {
|
if (conf) {
|
||||||
clp = conf;
|
clp = conf;
|
||||||
|
|
||||||
if (!is_client_expired(conf) && has_resources(conf)) {
|
if (!is_client_expired(conf) && client_has_state(conf)) {
|
||||||
status = nfserr_clientid_busy;
|
status = nfserr_clientid_busy;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user