All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Wrap buffers used for rpc debug printks into RPC_IFDEBUG
@ 2008-02-21  7:57 Pavel Emelyanov
  2008-02-21 21:45 ` Trond Myklebust
  0 siblings, 1 reply; 3+ messages in thread
From: Pavel Emelyanov @ 2008-02-21  7:57 UTC (permalink / raw)
  To: J. Bruce Fields, Trond Myklebust; +Cc: linux-nfs

Sorry for the noise, but here's the v3 of this compilation fix :)

There are some places, which declare the char buf[...] on the stack
to push it later into dprintk(). Since the dprintk sometimes (if the 
CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers
cause gcc to produce appropriate warnings.

Wrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to 
compile them out when not needed.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>

---

diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index 0822646..1ed8bd4 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -153,7 +153,7 @@ lockd(struct svc_rqst *rqstp)
 	 */
 	while ((nlmsvc_users || !signalled()) && nlmsvc_pid == current->pid) {
 		long timeout = MAX_SCHEDULE_TIMEOUT;
-		char buf[RPC_MAX_ADDRBUFLEN];
+		RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]);
 
 		if (signalled()) {
 			flush_signals(current);
diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c
index ecc06c6..3431751 100644
--- a/fs/nfs/callback.c
+++ b/fs/nfs/callback.c
@@ -171,7 +171,7 @@ void nfs_callback_down(void)
 static int nfs_callback_authenticate(struct svc_rqst *rqstp)
 {
 	struct nfs_client *clp;
-	char buf[RPC_MAX_ADDRBUFLEN];
+	RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]);
 
 	/* Don't talk to strangers */
 	clp = nfs_find_client(svc_addr(rqstp), 4);
diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
index 0130b34..1eb771d 100644
--- a/fs/nfsd/nfsfh.c
+++ b/fs/nfsd/nfsfh.c
@@ -101,7 +101,7 @@ static __be32 nfsd_setuser_and_check_port(struct svc_rqst *rqstp,
 {
 	/* Check if the request originated from a secure port. */
 	if (!rqstp->rq_secure && EX_SECURE(exp)) {
-		char buf[RPC_MAX_ADDRBUFLEN];
+		RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]);
 		dprintk(KERN_WARNING
 		       "nfsd: request from insecure port %s!\n",
 		       svc_print_addr(rqstp, buf, sizeof(buf)));
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index 1d3e5fc..c475977 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -175,7 +175,7 @@ static int svc_sendto(struct svc_rqst *rqstp, struct xdr_buf *xdr)
 	size_t		base = xdr->page_base;
 	unsigned int	pglen = xdr->page_len;
 	unsigned int	flags = MSG_MORE;
-	char		buf[RPC_MAX_ADDRBUFLEN];
+	RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]);
 
 	slen = xdr->len;
 
@@ -716,7 +716,7 @@ static struct svc_xprt *svc_tcp_accept(struct svc_xprt *xprt)
 	struct socket	*newsock;
 	struct svc_sock	*newsvsk;
 	int		err, slen;
-	char		buf[RPC_MAX_ADDRBUFLEN];
+	RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]);
 
 	dprintk("svc: tcp_accept %p sock %p\n", svsk, sock);
 	if (!sock)
@@ -1206,10 +1206,10 @@ static struct svc_xprt *svc_create_socket(struct svc_serv *serv,
 	struct socket	*sock;
 	int		error;
 	int		type;
-	char		buf[RPC_MAX_ADDRBUFLEN];
 	struct sockaddr_storage addr;
 	struct sockaddr *newsin = (struct sockaddr *)&addr;
 	int		newlen;
+	RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]);
 
 	dprintk("svc: svc_create_socket(%s, %d, %s)\n",
 			serv->sv_program->pg_name, protocol,

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] Wrap buffers used for rpc debug printks into RPC_IFDEBUG
  2008-02-21  7:57 [PATCH] Wrap buffers used for rpc debug printks into RPC_IFDEBUG Pavel Emelyanov
@ 2008-02-21 21:45 ` Trond Myklebust
       [not found]   ` <1203630322.8258.35.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Trond Myklebust @ 2008-02-21 21:45 UTC (permalink / raw)
  To: Pavel Emelyanov; +Cc: J. Bruce Fields, linux-nfs


On Thu, 2008-02-21 at 10:57 +0300, Pavel Emelyanov wrote:
> Sorry for the noise, but here's the v3 of this compilation fix :)
> 
> There are some places, which declare the char buf[...] on the stack
> to push it later into dprintk(). Since the dprintk sometimes (if the 
> CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers
> cause gcc to produce appropriate warnings.
> 
> Wrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to 
> compile them out when not needed.
> 
> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>

Thanks Pavel!

Bruce, do you want to shepherd this in, or should I? I'm planning on
pushing a couple of bugfixes to Linus this evening anyway...

Cheers
  Trond


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Wrap buffers used for rpc debug printks into RPC_IFDEBUG
       [not found]   ` <1203630322.8258.35.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
@ 2008-02-21 21:58     ` J. Bruce Fields
  0 siblings, 0 replies; 3+ messages in thread
From: J. Bruce Fields @ 2008-02-21 21:58 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: Pavel Emelyanov, linux-nfs

On Thu, Feb 21, 2008 at 04:45:22PM -0500, Trond Myklebust wrote:
> 
> On Thu, 2008-02-21 at 10:57 +0300, Pavel Emelyanov wrote:
> > Sorry for the noise, but here's the v3 of this compilation fix :)
> > 
> > There are some places, which declare the char buf[...] on the stack
> > to push it later into dprintk(). Since the dprintk sometimes (if the 
> > CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers
> > cause gcc to produce appropriate warnings.
> > 
> > Wrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to 
> > compile them out when not needed.
> > 
> > Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
> 
> Thanks Pavel!

Yes, thanks Pavel for persisting--it looks very straightforward to me
this way.

> 
> Bruce, do you want to shepherd this in, or should I? I'm planning on
> pushing a couple of bugfixes to Linus this evening anyway...

That would be great; feel free to add an

	Acked-by: J. Bruce Fields <bfields@citi.umich.edu>

if you want.

--b.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-02-21 21:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-21  7:57 [PATCH] Wrap buffers used for rpc debug printks into RPC_IFDEBUG Pavel Emelyanov
2008-02-21 21:45 ` Trond Myklebust
     [not found]   ` <1203630322.8258.35.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-02-21 21:58     ` J. Bruce Fields

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.