瀏覽代碼

[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: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
NeilBrown 18 年之前
父節點
當前提交
6fb2b47fa1
共有 7 個文件被更改,包括 13 次插入15 次删除
  1. 3 4
      fs/lockd/svc.c
  2. 2 3
      fs/nfs/callback.c
  3. 2 4
      fs/nfsd/nfssvc.c
  4. 1 1
      include/linux/sunrpc/svc.h
  5. 1 1
      include/linux/sunrpc/svcsock.h
  6. 2 1
      net/sunrpc/svc.c
  7. 2 1
      net/sunrpc/svcsock.c

+ 3 - 4
fs/lockd/svc.c

@@ -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)
 	 * 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)
 		 * 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)
 		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);
 
 
 	}
 	}
 
 

+ 2 - 3
fs/nfs/callback.c

@@ -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)
 		/*
 		/*
 		 * 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)
 		}
 		}
 		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);

+ 2 - 4
fs/nfsd/nfssvc.c

@@ -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)
 		 * 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,
-				       60*60*HZ)) == -EAGAIN)
+		while ((err = svc_recv(rqstp, 60*60*HZ)) == -EAGAIN)
 			;
 			;
 		if (err < 0)
 		if (err < 0)
 			break;
 			break;
@@ -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();

+ 1 - 1
include/linux/sunrpc/svc.h

@@ -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);

+ 1 - 1
include/linux/sunrpc/svcsock.h

@@ -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);

+ 2 - 1
net/sunrpc/svc.c

@@ -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;

+ 2 - 1
net/sunrpc/svcsock.c

@@ -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;