提交 6fb2b47f 编写于 作者: N NeilBrown 提交者: Linus Torvalds

[PATCH] knfsd: Drop 'serv' option to svc_recv and svc_process

It isn't needed as it is available in rqstp->rq_server, and dropping it allows
some local vars to be dropped.

[akpm@osdl.org: build fix]
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: NNeil Brown <neilb@suse.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 896440d5
...@@ -98,7 +98,6 @@ static inline void clear_grace_period(void) ...@@ -98,7 +98,6 @@ static inline void clear_grace_period(void)
static void static void
lockd(struct svc_rqst *rqstp) lockd(struct svc_rqst *rqstp)
{ {
struct svc_serv *serv = rqstp->rq_server;
int err = 0; int err = 0;
unsigned long grace_period_expire; unsigned long grace_period_expire;
...@@ -114,7 +113,7 @@ lockd(struct svc_rqst *rqstp) ...@@ -114,7 +113,7 @@ lockd(struct svc_rqst *rqstp)
* Let our maker know we're running. * Let our maker know we're running.
*/ */
nlmsvc_pid = current->pid; nlmsvc_pid = current->pid;
nlmsvc_serv = serv; nlmsvc_serv = rqstp->rq_server;
complete(&lockd_start_done); complete(&lockd_start_done);
daemonize("lockd"); daemonize("lockd");
...@@ -164,7 +163,7 @@ lockd(struct svc_rqst *rqstp) ...@@ -164,7 +163,7 @@ lockd(struct svc_rqst *rqstp)
* Find a socket with data available and call its * Find a socket with data available and call its
* recvfrom routine. * recvfrom routine.
*/ */
err = svc_recv(serv, rqstp, timeout); err = svc_recv(rqstp, timeout);
if (err == -EAGAIN || err == -EINTR) if (err == -EAGAIN || err == -EINTR)
continue; continue;
if (err < 0) { if (err < 0) {
...@@ -177,7 +176,7 @@ lockd(struct svc_rqst *rqstp) ...@@ -177,7 +176,7 @@ lockd(struct svc_rqst *rqstp)
dprintk("lockd: request from %08x\n", dprintk("lockd: request from %08x\n",
(unsigned)ntohl(rqstp->rq_addr.sin_addr.s_addr)); (unsigned)ntohl(rqstp->rq_addr.sin_addr.s_addr));
svc_process(serv, rqstp); svc_process(rqstp);
} }
......
...@@ -58,7 +58,6 @@ module_param_call(callback_tcpport, param_set_port, param_get_int, ...@@ -58,7 +58,6 @@ module_param_call(callback_tcpport, param_set_port, param_get_int,
*/ */
static void nfs_callback_svc(struct svc_rqst *rqstp) static void nfs_callback_svc(struct svc_rqst *rqstp)
{ {
struct svc_serv *serv = rqstp->rq_server;
int err; int err;
__module_get(THIS_MODULE); __module_get(THIS_MODULE);
...@@ -80,7 +79,7 @@ static void nfs_callback_svc(struct svc_rqst *rqstp) ...@@ -80,7 +79,7 @@ static void nfs_callback_svc(struct svc_rqst *rqstp)
/* /*
* Listen for a request on the socket * Listen for a request on the socket
*/ */
err = svc_recv(serv, rqstp, MAX_SCHEDULE_TIMEOUT); err = svc_recv(rqstp, MAX_SCHEDULE_TIMEOUT);
if (err == -EAGAIN || err == -EINTR) if (err == -EAGAIN || err == -EINTR)
continue; continue;
if (err < 0) { if (err < 0) {
...@@ -91,7 +90,7 @@ static void nfs_callback_svc(struct svc_rqst *rqstp) ...@@ -91,7 +90,7 @@ static void nfs_callback_svc(struct svc_rqst *rqstp)
} }
dprintk("%s: request from %u.%u.%u.%u\n", __FUNCTION__, dprintk("%s: request from %u.%u.%u.%u\n", __FUNCTION__,
NIPQUAD(rqstp->rq_addr.sin_addr.s_addr)); NIPQUAD(rqstp->rq_addr.sin_addr.s_addr));
svc_process(serv, rqstp); svc_process(rqstp);
} }
svc_exit_thread(rqstp); svc_exit_thread(rqstp);
......
...@@ -323,7 +323,6 @@ update_thread_usage(int busy_threads) ...@@ -323,7 +323,6 @@ update_thread_usage(int busy_threads)
static void static void
nfsd(struct svc_rqst *rqstp) nfsd(struct svc_rqst *rqstp)
{ {
struct svc_serv *serv = rqstp->rq_server;
struct fs_struct *fsp; struct fs_struct *fsp;
int err; int err;
struct nfsd_list me; struct nfsd_list me;
...@@ -373,8 +372,7 @@ nfsd(struct svc_rqst *rqstp) ...@@ -373,8 +372,7 @@ nfsd(struct svc_rqst *rqstp)
* Find a socket with data available and call its * Find a socket with data available and call its
* recvfrom routine. * recvfrom routine.
*/ */
while ((err = svc_recv(serv, rqstp, while ((err = svc_recv(rqstp, 60*60*HZ)) == -EAGAIN)
60*60*HZ)) == -EAGAIN)
; ;
if (err < 0) if (err < 0)
break; break;
...@@ -387,7 +385,7 @@ nfsd(struct svc_rqst *rqstp) ...@@ -387,7 +385,7 @@ nfsd(struct svc_rqst *rqstp)
/* Process request with signals blocked. */ /* Process request with signals blocked. */
sigprocmask(SIG_SETMASK, &allowed_mask, NULL); sigprocmask(SIG_SETMASK, &allowed_mask, NULL);
svc_process(serv, rqstp); svc_process(rqstp);
/* Unlock export hash tables */ /* Unlock export hash tables */
exp_readunlock(); exp_readunlock();
......
...@@ -338,7 +338,7 @@ struct svc_serv * svc_create(struct svc_program *, unsigned int, ...@@ -338,7 +338,7 @@ struct svc_serv * svc_create(struct svc_program *, unsigned int,
int svc_create_thread(svc_thread_fn, struct svc_serv *); int svc_create_thread(svc_thread_fn, struct svc_serv *);
void svc_exit_thread(struct svc_rqst *); void svc_exit_thread(struct svc_rqst *);
void svc_destroy(struct svc_serv *); void svc_destroy(struct svc_serv *);
int svc_process(struct svc_serv *, struct svc_rqst *); int svc_process(struct svc_rqst *);
int svc_register(struct svc_serv *, int, unsigned short); int svc_register(struct svc_serv *, int, unsigned short);
void svc_wake_up(struct svc_serv *); void svc_wake_up(struct svc_serv *);
void svc_reserve(struct svc_rqst *rqstp, int space); void svc_reserve(struct svc_rqst *rqstp, int space);
......
...@@ -57,7 +57,7 @@ struct svc_sock { ...@@ -57,7 +57,7 @@ struct svc_sock {
*/ */
int svc_makesock(struct svc_serv *, int, unsigned short); int svc_makesock(struct svc_serv *, int, unsigned short);
void svc_delete_socket(struct svc_sock *); void svc_delete_socket(struct svc_sock *);
int svc_recv(struct svc_serv *, struct svc_rqst *, long); int svc_recv(struct svc_rqst *, long);
int svc_send(struct svc_rqst *); int svc_send(struct svc_rqst *);
void svc_drop(struct svc_rqst *); void svc_drop(struct svc_rqst *);
void svc_sock_update_bufs(struct svc_serv *serv); void svc_sock_update_bufs(struct svc_serv *serv);
......
...@@ -253,13 +253,14 @@ svc_register(struct svc_serv *serv, int proto, unsigned short port) ...@@ -253,13 +253,14 @@ svc_register(struct svc_serv *serv, int proto, unsigned short port)
* Process the RPC request. * Process the RPC request.
*/ */
int int
svc_process(struct svc_serv *serv, struct svc_rqst *rqstp) svc_process(struct svc_rqst *rqstp)
{ {
struct svc_program *progp; struct svc_program *progp;
struct svc_version *versp = NULL; /* compiler food */ struct svc_version *versp = NULL; /* compiler food */
struct svc_procedure *procp = NULL; struct svc_procedure *procp = NULL;
struct kvec * argv = &rqstp->rq_arg.head[0]; struct kvec * argv = &rqstp->rq_arg.head[0];
struct kvec * resv = &rqstp->rq_res.head[0]; struct kvec * resv = &rqstp->rq_res.head[0];
struct svc_serv *serv = rqstp->rq_server;
kxdrproc_t xdr; kxdrproc_t xdr;
__be32 *statp; __be32 *statp;
u32 dir, prog, vers, proc; u32 dir, prog, vers, proc;
......
...@@ -1166,9 +1166,10 @@ svc_sock_update_bufs(struct svc_serv *serv) ...@@ -1166,9 +1166,10 @@ svc_sock_update_bufs(struct svc_serv *serv)
* Receive the next request on any socket. * Receive the next request on any socket.
*/ */
int int
svc_recv(struct svc_serv *serv, struct svc_rqst *rqstp, long timeout) svc_recv(struct svc_rqst *rqstp, long timeout)
{ {
struct svc_sock *svsk =NULL; struct svc_sock *svsk =NULL;
struct svc_serv *serv = rqstp->rq_server;
int len; int len;
int pages; int pages;
struct xdr_buf *arg; struct xdr_buf *arg;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册