Skip to content

Commit 5304930

Browse files
committed
NFSD: Use set_bit(RQ_DROPME)
The premise that "Once an svc thread is scheduled and executing an RPC, no other processes will touch svc_rqst::rq_flags" is false. svc_xprt_enqueue() examines the RQ_BUSY flag in scheduled nfsd threads when determining which thread to wake up next. Fixes: 9315564 ("NFSD: Use only RQ_DROPME to signal the need to drop a reply") Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1 parent 7827c81 commit 5304930

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

fs/nfsd/nfsproc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ nfsd_proc_read(struct svc_rqst *rqstp)
211211
if (resp->status == nfs_ok)
212212
resp->status = fh_getattr(&resp->fh, &resp->stat);
213213
else if (resp->status == nfserr_jukebox)
214-
__set_bit(RQ_DROPME, &rqstp->rq_flags);
214+
set_bit(RQ_DROPME, &rqstp->rq_flags);
215215
return rpc_success;
216216
}
217217

@@ -246,7 +246,7 @@ nfsd_proc_write(struct svc_rqst *rqstp)
246246
if (resp->status == nfs_ok)
247247
resp->status = fh_getattr(&resp->fh, &resp->stat);
248248
else if (resp->status == nfserr_jukebox)
249-
__set_bit(RQ_DROPME, &rqstp->rq_flags);
249+
set_bit(RQ_DROPME, &rqstp->rq_flags);
250250
return rpc_success;
251251
}
252252

0 commit comments

Comments
 (0)