Skip to content

Commit

Permalink
sunrpc: move rq_local field to rq_flags
Browse files Browse the repository at this point in the history
Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
  • Loading branch information
Jeff Layton authored and J. Bruce Fields committed Dec 9, 2014
1 parent 4d152e2 commit 7501cc2
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 5 deletions.
4 changes: 2 additions & 2 deletions fs/nfsd/vfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -962,7 +962,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
loff_t end = LLONG_MAX;
unsigned int pflags = current->flags;

if (rqstp->rq_local)
if (test_bit(RQ_LOCAL, &rqstp->rq_flags))
/*
* We want less throttling in balance_dirty_pages()
* and shrink_inactive_list() so that nfs to
Expand Down Expand Up @@ -1006,7 +1006,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
err = 0;
else
err = nfserrno(host_err);
if (rqstp->rq_local)
if (test_bit(RQ_LOCAL, &rqstp->rq_flags))
tsk_restore_flags(current, pflags, PF_LESS_THROTTLE);
return err;
}
Expand Down
2 changes: 1 addition & 1 deletion include/linux/sunrpc/svc.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,8 @@ struct svc_rqst {
u32 rq_proc; /* procedure number */
u32 rq_prot; /* IP protocol */
#define RQ_SECURE (0) /* secure port */
#define RQ_LOCAL (1) /* local request */
unsigned long rq_flags; /* flags field */
unsigned short rq_local : 1; /* local request */

void * rq_argp; /* decoded arguments */
void * rq_resp; /* xdr'd results */
Expand Down
3 changes: 2 additions & 1 deletion include/trace/events/sunrpc.h
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,8 @@ TRACE_EVENT(xs_tcp_data_recv,

#define show_rqstp_flags(flags) \
__print_flags(flags, "|", \
{ (1UL << RQ_SECURE), "RQ_SECURE"})
{ (1UL << RQ_SECURE), "RQ_SECURE"}, \
{ (1UL << RQ_LOCAL), "RQ_LOCAL"})

TRACE_EVENT(svc_recv,
TP_PROTO(struct svc_rqst *rqst, int status),
Expand Down
5 changes: 4 additions & 1 deletion net/sunrpc/svcsock.c
Original file line number Diff line number Diff line change
Expand Up @@ -1145,7 +1145,10 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp)

rqstp->rq_xprt_ctxt = NULL;
rqstp->rq_prot = IPPROTO_TCP;
rqstp->rq_local = !!test_bit(XPT_LOCAL, &svsk->sk_xprt.xpt_flags);
if (test_bit(XPT_LOCAL, &svsk->sk_xprt.xpt_flags))
set_bit(RQ_LOCAL, &rqstp->rq_flags);
else
clear_bit(RQ_LOCAL, &rqstp->rq_flags);

p = (__be32 *)rqstp->rq_arg.head[0].iov_base;
calldir = p[1];
Expand Down

0 comments on commit 7501cc2

Please sign in to comment.