OSDN Git Service

NFSD: Use only RQ_DROPME to signal the need to drop a reply
authorChuck Lever <chuck.lever@oracle.com>
Sat, 26 Nov 2022 20:55:30 +0000 (15:55 -0500)
committerChuck Lever <cel@kernel.org>
Sat, 10 Dec 2022 16:01:13 +0000 (11:01 -0500)
Clean up: NFSv2 has the only two usages of rpc_drop_reply in the
NFSD code base. Since NFSv2 is going away at some point, replace
these in order to simplify the "drop this reply?" check in
nfsd_dispatch().

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
fs/nfsd/nfsproc.c
fs/nfsd/nfssvc.c

index 52fc222..a5570cf 100644 (file)
@@ -211,7 +211,7 @@ nfsd_proc_read(struct svc_rqst *rqstp)
        if (resp->status == nfs_ok)
                resp->status = fh_getattr(&resp->fh, &resp->stat);
        else if (resp->status == nfserr_jukebox)
-               return rpc_drop_reply;
+               __set_bit(RQ_DROPME, &rqstp->rq_flags);
        return rpc_success;
 }
 
@@ -246,7 +246,7 @@ nfsd_proc_write(struct svc_rqst *rqstp)
        if (resp->status == nfs_ok)
                resp->status = fh_getattr(&resp->fh, &resp->stat);
        else if (resp->status == nfserr_jukebox)
-               return rpc_drop_reply;
+               __set_bit(RQ_DROPME, &rqstp->rq_flags);
        return rpc_success;
 }
 
index 62e473b..56fba1c 100644 (file)
@@ -1060,7 +1060,7 @@ int nfsd_dispatch(struct svc_rqst *rqstp, __be32 *statp)
        svcxdr_init_encode(rqstp);
 
        *statp = proc->pc_func(rqstp);
-       if (*statp == rpc_drop_reply || test_bit(RQ_DROPME, &rqstp->rq_flags))
+       if (test_bit(RQ_DROPME, &rqstp->rq_flags))
                goto out_update_drop;
 
        if (!proc->pc_encode(rqstp, &rqstp->rq_res_stream))