* [PATCH -next] nfs: fix ISO C90 warning [not found] <20091215165309.58e98eea.sfr@canb.auug.org.au> @ 2009-12-16 22:23 ` Randy Dunlap 2009-12-16 22:40 ` Trond Myklebust 0 siblings, 1 reply; 7+ messages in thread From: Randy Dunlap @ 2009-12-16 22:23 UTC (permalink / raw) To: Stephen Rothwell, Trond Myklebust; +Cc: linux-next, LKML, linux-nfs From: Randy Dunlap <randy.dunlap@oracle.com> Fix gcc ISO C90 warning: fs/nfs/callback.c:356: warning: ISO C90 forbids mixed declarations and code Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> --- fs/nfs/callback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- linux-next-20091215.orig/fs/nfs/callback.c +++ linux-next-20091215/fs/nfs/callback.c @@ -352,8 +352,8 @@ static int check_gss_callback_principal( static int nfs_callback_authenticate(struct svc_rqst *rqstp) { struct nfs_client *clp; - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); int ret = SVC_OK; + RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); /* Don't talk to strangers */ clp = nfs_find_client(svc_addr(rqstp), 4); ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next] nfs: fix ISO C90 warning 2009-12-16 22:23 ` [PATCH -next] nfs: fix ISO C90 warning Randy Dunlap @ 2009-12-16 22:40 ` Trond Myklebust 2009-12-16 22:47 ` Randy Dunlap 0 siblings, 1 reply; 7+ messages in thread From: Trond Myklebust @ 2009-12-16 22:40 UTC (permalink / raw) To: Randy Dunlap; +Cc: Stephen Rothwell, linux-next, LKML, linux-nfs On Wed, 2009-12-16 at 14:23 -0800, Randy Dunlap wrote: > From: Randy Dunlap <randy.dunlap@oracle.com> > > Fix gcc ISO C90 warning: > > fs/nfs/callback.c:356: warning: ISO C90 forbids mixed declarations and code > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> > --- > fs/nfs/callback.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- linux-next-20091215.orig/fs/nfs/callback.c > +++ linux-next-20091215/fs/nfs/callback.c > @@ -352,8 +352,8 @@ static int check_gss_callback_principal( > static int nfs_callback_authenticate(struct svc_rqst *rqstp) > { > struct nfs_client *clp; > - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > int ret = SVC_OK; > + RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > What version of gcc is giving rise to this warning? RPC_IFDEBUG is a macro that either evaluates to its argument, or to nothing, depending on whether or not RPC_DEBUG is defined or not. In neither case should it evaluate to anything illegal under C90 rules afaics. Trond ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next] nfs: fix ISO C90 warning 2009-12-16 22:40 ` Trond Myklebust @ 2009-12-16 22:47 ` Randy Dunlap 2009-12-16 22:58 ` Thomas Gleixner 0 siblings, 1 reply; 7+ messages in thread From: Randy Dunlap @ 2009-12-16 22:47 UTC (permalink / raw) To: Trond Myklebust; +Cc: Stephen Rothwell, linux-next, LKML, linux-nfs On Wed, 16 Dec 2009 17:40:19 -0500 Trond Myklebust wrote: > On Wed, 2009-12-16 at 14:23 -0800, Randy Dunlap wrote: > > From: Randy Dunlap <randy.dunlap@oracle.com> > > > > Fix gcc ISO C90 warning: > > > > fs/nfs/callback.c:356: warning: ISO C90 forbids mixed declarations and code > > > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> > > --- > > fs/nfs/callback.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > --- linux-next-20091215.orig/fs/nfs/callback.c > > +++ linux-next-20091215/fs/nfs/callback.c > > @@ -352,8 +352,8 @@ static int check_gss_callback_principal( > > static int nfs_callback_authenticate(struct svc_rqst *rqstp) > > { > > struct nfs_client *clp; > > - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > > int ret = SVC_OK; > > + RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > > > > What version of gcc is giving rise to this warning? > gcc --version gcc (GCC) 4.2.1 (SUSE Linux) > RPC_IFDEBUG is a macro that either evaluates to its argument, or to > nothing, depending on whether or not RPC_DEBUG is defined or not. In > neither case should it evaluate to anything illegal under C90 rules > afaics. Yep. Odd warning. --- ~Randy ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next] nfs: fix ISO C90 warning 2009-12-16 22:47 ` Randy Dunlap @ 2009-12-16 22:58 ` Thomas Gleixner 2009-12-16 23:01 ` Trond Myklebust 0 siblings, 1 reply; 7+ messages in thread From: Thomas Gleixner @ 2009-12-16 22:58 UTC (permalink / raw) To: Randy Dunlap Cc: Trond Myklebust, Stephen Rothwell, linux-next, LKML, linux-nfs On Wed, 16 Dec 2009, Randy Dunlap wrote: > On Wed, 16 Dec 2009 17:40:19 -0500 Trond Myklebust wrote: > > > On Wed, 2009-12-16 at 14:23 -0800, Randy Dunlap wrote: > > > From: Randy Dunlap <randy.dunlap@oracle.com> > > > > > > Fix gcc ISO C90 warning: > > > > > > fs/nfs/callback.c:356: warning: ISO C90 forbids mixed declarations and code > > > > > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> > > > --- > > > fs/nfs/callback.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > --- linux-next-20091215.orig/fs/nfs/callback.c > > > +++ linux-next-20091215/fs/nfs/callback.c > > > @@ -352,8 +352,8 @@ static int check_gss_callback_principal( > > > static int nfs_callback_authenticate(struct svc_rqst *rqstp) > > > { > > > struct nfs_client *clp; > > > - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > > > int ret = SVC_OK; > > > + RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > > > > > > > What version of gcc is giving rise to this warning? > > > gcc --version > gcc (GCC) 4.2.1 (SUSE Linux) > > > RPC_IFDEBUG is a macro that either evaluates to its argument, or to > > nothing, depending on whether or not RPC_DEBUG is defined or not. In > > neither case should it evaluate to anything illegal under C90 rules > > afaics. > > Yep. Odd warning. Not really. If the debug macro evaluates to nothing then you have: struct nfs_client *clp; ; int ret = SVC_OK; So you have a stray semicolon, which is interpreted as an empty code line. That qualifies for the mixed declaration and code case :) I know it's nitpicking, but ... Thanks, tglx ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next] nfs: fix ISO C90 warning 2009-12-16 22:58 ` Thomas Gleixner @ 2009-12-16 23:01 ` Trond Myklebust 2009-12-17 10:00 ` Américo Wang 0 siblings, 1 reply; 7+ messages in thread From: Trond Myklebust @ 2009-12-16 23:01 UTC (permalink / raw) To: Thomas Gleixner Cc: Randy Dunlap, Stephen Rothwell, linux-next, LKML, linux-nfs On Wed, 2009-12-16 at 23:58 +0100, Thomas Gleixner wrote: > On Wed, 16 Dec 2009, Randy Dunlap wrote: > > On Wed, 16 Dec 2009 17:40:19 -0500 Trond Myklebust wrote: > > > > > On Wed, 2009-12-16 at 14:23 -0800, Randy Dunlap wrote: > > > > From: Randy Dunlap <randy.dunlap@oracle.com> > > > > > > > > Fix gcc ISO C90 warning: > > > > > > > > fs/nfs/callback.c:356: warning: ISO C90 forbids mixed declarations and code > > > > > > > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> > > > > --- > > > > fs/nfs/callback.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > --- linux-next-20091215.orig/fs/nfs/callback.c > > > > +++ linux-next-20091215/fs/nfs/callback.c > > > > @@ -352,8 +352,8 @@ static int check_gss_callback_principal( > > > > static int nfs_callback_authenticate(struct svc_rqst *rqstp) > > > > { > > > > struct nfs_client *clp; > > > > - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > > > > int ret = SVC_OK; > > > > + RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); > > > > > > > > > > What version of gcc is giving rise to this warning? > > > > > gcc --version > > gcc (GCC) 4.2.1 (SUSE Linux) > > > > > RPC_IFDEBUG is a macro that either evaluates to its argument, or to > > > nothing, depending on whether or not RPC_DEBUG is defined or not. In > > > neither case should it evaluate to anything illegal under C90 rules > > > afaics. > > > > Yep. Odd warning. > > Not really. If the debug macro evaluates to nothing then you have: > > struct nfs_client *clp; > ; > int ret = SVC_OK; > > So you have a stray semicolon, which is interpreted as an empty code > line. That qualifies for the mixed declaration and code case :) > > I know it's nitpicking, but ... Ah... I see what you mean. So really what we should do is just move that semicolon inside the macro. That would change the !RPC_DEBUG case to struct nfs_client *clp; int ret = SVC_OK; which is 100% legal... Cheers Trond ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH -next] nfs: fix ISO C90 warning 2009-12-16 23:01 ` Trond Myklebust @ 2009-12-17 10:00 ` Américo Wang [not found] ` <2375c9f90912170200m12a5310cg90343c5c1081fbb8-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Américo Wang @ 2009-12-17 10:00 UTC (permalink / raw) To: Trond Myklebust Cc: Thomas Gleixner, Randy Dunlap, Stephen Rothwell, linux-next, LKML, linux-nfs [-- Attachment #1: Type: text/plain, Size: 2474 bytes --] On Thu, Dec 17, 2009 at 7:01 AM, Trond Myklebust <trond.myklebust@fys.uio.no> wrote: > On Wed, 2009-12-16 at 23:58 +0100, Thomas Gleixner wrote: >> On Wed, 16 Dec 2009, Randy Dunlap wrote: >> > On Wed, 16 Dec 2009 17:40:19 -0500 Trond Myklebust wrote: >> > >> > > On Wed, 2009-12-16 at 14:23 -0800, Randy Dunlap wrote: >> > > > From: Randy Dunlap <randy.dunlap@oracle.com> >> > > > >> > > > Fix gcc ISO C90 warning: >> > > > >> > > > fs/nfs/callback.c:356: warning: ISO C90 forbids mixed declarations and code >> > > > >> > > > Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> >> > > > --- >> > > > fs/nfs/callback.c | 2 +- >> > > > 1 file changed, 1 insertion(+), 1 deletion(-) >> > > > >> > > > --- linux-next-20091215.orig/fs/nfs/callback.c >> > > > +++ linux-next-20091215/fs/nfs/callback.c >> > > > @@ -352,8 +352,8 @@ static int check_gss_callback_principal( >> > > > static int nfs_callback_authenticate(struct svc_rqst *rqstp) >> > > > { >> > > > struct nfs_client *clp; >> > > > - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); >> > > > int ret = SVC_OK; >> > > > + RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); >> > > > >> > > >> > > What version of gcc is giving rise to this warning? >> > >> > > gcc --version >> > gcc (GCC) 4.2.1 (SUSE Linux) >> > >> > > RPC_IFDEBUG is a macro that either evaluates to its argument, or to >> > > nothing, depending on whether or not RPC_DEBUG is defined or not. In >> > > neither case should it evaluate to anything illegal under C90 rules >> > > afaics. >> > >> > Yep. Odd warning. >> >> Not really. If the debug macro evaluates to nothing then you have: >> >> struct nfs_client *clp; >> ; >> int ret = SVC_OK; >> >> So you have a stray semicolon, which is interpreted as an empty code >> line. That qualifies for the mixed declaration and code case :) >> >> I know it's nitpicking, but ... > > Ah... I see what you mean. > > So really what we should do is just move that semicolon inside the > macro. That would change the !RPC_DEBUG case to > > struct nfs_client *clp; > > int ret = SVC_OK; > > which is 100% legal... > Hi, Check that currently all usages of RPC_DEBUG are the same, we can replace them all. What do you think about the attached patch? Sorry for attaching it, I have a bad mail environment here. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> [-- Attachment #2: rpc-replace-rpc-ifdebug.diff --] [-- Type: text/plain, Size: 3004 bytes --] diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index e50cfa3..4fce0f2 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c @@ -152,7 +152,7 @@ lockd(void *vrqstp) */ while (!kthread_should_stop()) { long timeout = MAX_SCHEDULE_TIMEOUT; - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); + RPCBUF_IFDEBUG(buf); /* update sv_maxconn if it has changed */ rqstp->rq_server->sv_maxconn = nlm_max_connections; diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c index 73ab220..e05b6fc 100644 --- a/fs/nfs/callback.c +++ b/fs/nfs/callback.c @@ -352,7 +352,7 @@ static int check_gss_callback_principal(struct nfs_client *clp, static int nfs_callback_authenticate(struct svc_rqst *rqstp) { struct nfs_client *clp; - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); + RPCBUF_IFDEBUG(buf); int ret = SVC_OK; /* Don't talk to strangers */ diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c index 1c12177..7a84433 100644 --- a/fs/nfsd/nfsfh.c +++ b/fs/nfsd/nfsfh.c @@ -90,7 +90,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 && (flags & NFSEXP_INSECURE_PORT)) { - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); + RPCBUF_IFDEBUG(buf); dprintk(KERN_WARNING "nfsd: request from insecure port %s!\n", svc_print_addr(rqstp, buf, sizeof(buf))); diff --git a/include/linux/sunrpc/debug.h b/include/linux/sunrpc/debug.h index c2786f2..13185bb 100644 --- a/include/linux/sunrpc/debug.h +++ b/include/linux/sunrpc/debug.h @@ -52,11 +52,11 @@ extern unsigned int nlm_debug; #ifdef RPC_DEBUG # define ifdebug(fac) if (unlikely(rpc_debug & RPCDBG_##fac)) # define dfprintk(fac, args...) do { ifdebug(fac) printk(args); } while(0) -# define RPC_IFDEBUG(x) x +# define RPCBUF_IFDEBUG(x) char x[RPC_MAX_ADDRBUFLEN] #else # define ifdebug(fac) if (0) # define dfprintk(fac, args...) do ; while (0) -# define RPC_IFDEBUG(x) +# define RPCBUF_IFDEBUG(x) char x[0] #endif /* diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index 870929e..425c4c1 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c @@ -228,7 +228,7 @@ static int svc_sendto(struct svc_rqst *rqstp, struct xdr_buf *xdr) int len = 0; unsigned long tailoff; unsigned long headoff; - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); + RPCBUF_IFDEBUG(buf); if (rqstp->rq_prot == IPPROTO_UDP) { struct msghdr msg = { @@ -808,7 +808,7 @@ static struct svc_xprt *svc_tcp_accept(struct svc_xprt *xprt) struct socket *newsock; struct svc_sock *newsvsk; int err, slen; - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); + RPCBUF_IFDEBUG(buf); dprintk("svc: tcp_accept %p sock %p\n", svsk, sock); if (!sock) @@ -1410,7 +1410,7 @@ static struct svc_xprt *svc_create_socket(struct svc_serv *serv, int newlen; int family; int val; - RPC_IFDEBUG(char buf[RPC_MAX_ADDRBUFLEN]); + RPCBUF_IFDEBUG(buf); dprintk("svc: svc_create_socket(%s, %d, %s)\n", serv->sv_program->pg_name, protocol, ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <2375c9f90912170200m12a5310cg90343c5c1081fbb8-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH -next] nfs: fix ISO C90 warning [not found] ` <2375c9f90912170200m12a5310cg90343c5c1081fbb8-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2009-12-17 21:58 ` Trond Myklebust 0 siblings, 0 replies; 7+ messages in thread From: Trond Myklebust @ 2009-12-17 21:58 UTC (permalink / raw) To: Américo Wang Cc: Thomas Gleixner, Randy Dunlap, Stephen Rothwell, linux-next, LKML, linux-nfs On Thu, 2009-12-17 at 18:00 +0800, Am=C3=A9rico Wang wrote:=20 > Hi, > Check that currently all usages of RPC_DEBUG are the same, > we can replace them all. >=20 > What do you think about the attached patch? >=20 > Sorry for attaching it, I have a bad mail environment here. >=20 > Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Doesn't that approach instead lead to a lot of 'unreferenced variable' warnings in the '#undef RPC_DEBUG' case? Cheers Trond ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-12-17 21:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20091215165309.58e98eea.sfr@canb.auug.org.au>
2009-12-16 22:23 ` [PATCH -next] nfs: fix ISO C90 warning Randy Dunlap
2009-12-16 22:40 ` Trond Myklebust
2009-12-16 22:47 ` Randy Dunlap
2009-12-16 22:58 ` Thomas Gleixner
2009-12-16 23:01 ` Trond Myklebust
2009-12-17 10:00 ` Américo Wang
[not found] ` <2375c9f90912170200m12a5310cg90343c5c1081fbb8-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-12-17 21:58 ` Trond Myklebust
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox