public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* git-nfsd on ia64
@ 2008-02-16  6:39 Andrew Morton
  2008-02-16  6:43 ` Andrew Morton
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Andrew Morton @ 2008-02-16  6:39 UTC (permalink / raw)
  To: linux-ia64


Cunningly, current git-nfsd causes this, with ia64 allmodconfig:

.config:3397:warning: trying to assign nonexistent symbol NFSD_TCP
In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:297:1: warning: "elf_check_arch" redefined
In file included from include/linux/elf.h:7,
                 from include/linux/module.h:14,
                 from include/linux/textsearch.h:9,
                 from include/linux/skbuff.h:26,
                 from include/linux/icmpv6.h:79,
                 from include/linux/ipv6.h:197,
                 from include/net/ipv6.h:18,
                 from include/linux/sunrpc/svcauth.h:18,
                 from include/linux/sunrpc/svc.h:18,
                 from arch/ia64/ia32/sys_ia32.c:37:
include/asm/elf.h:19:1: warning: this is the location of the previous definition
In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:302:1: warning: "ELF_CLASS" redefined
In file included from include/linux/elf.h:7,
                 from include/linux/module.h:14,
                 from include/linux/textsearch.h:9,
                 from include/linux/skbuff.h:26,
                 from include/linux/icmpv6.h:79,
                 from include/linux/ipv6.h:197,
                 from include/net/ipv6.h:18,
                 from include/linux/sunrpc/svcauth.h:18,
                 from include/linux/sunrpc/svc.h:18,
                 from arch/ia64/ia32/sys_ia32.c:37:
include/asm/elf.h:24:1: warning: this is the location of the previous definition
In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:304:1: warning: "ELF_ARCH" redefined
In file included from include/linux/elf.h:7,
                 from include/linux/module.h:14,
                 from include/linux/textsearch.h:9,
                 from include/linux/skbuff.h:26,
                 from include/linux/icmpv6.h:79,
                 from include/linux/ipv6.h:197,
                 from include/net/ipv6.h:18,
                 from include/linux/sunrpc/svcauth.h:18,
                 from include/linux/sunrpc/svc.h:18,
                 from arch/ia64/ia32/sys_ia32.c:37:
include/asm/elf.h:26:1: warning: this is the location of the previous definition
In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:318:1: warning: "ELF_EXEC_PAGESIZE" redefined
In file included from include/linux/elf.h:7,
                 from include/linux/module.h:14,
                 from include/linux/textsearch.h:9,
                 from include/linux/skbuff.h:26,
                 from include/linux/icmpv6.h:79,
                 from include/linux/ipv6.h:197,
                 from include/net/ipv6.h:18,
                 from include/linux/sunrpc/svcauth.h:18,
                 from include/linux/sunrpc/svc.h:18,
                 from arch/ia64/ia32/sys_ia32.c:37:
include/asm/elf.h:34:1: warning: this is the location of the previous definition
In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:327:1: warning: "ELF_ET_DYN_BASE" redefined
In file included from include/linux/elf.h:7,
                 from include/linux/module.h:14,
                 from include/linux/textsearch.h:9,
                 from include/linux/skbuff.h:26,
                 from include/linux/icmpv6.h:79,
                 from include/linux/ipv6.h:197,
                 from include/net/ipv6.h:18,
                 from include/linux/sunrpc/svcauth.h:18,
                 from include/linux/sunrpc/svc.h:18,
                 from arch/ia64/ia32/sys_ia32.c:37:
include/asm/elf.h:43:1: warning: this is the location of the previous definition
In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:330:1: warning: "ELF_PLAT_INIT" redefined
In file included from include/linux/elf.h:7,
                 from include/linux/module.h:14,
                 from include/linux/textsearch.h:9,
                 from include/linux/skbuff.h:26,
                 from include/linux/icmpv6.h:79,
                 from include/linux/ipv6.h:197,
                 from include/net/ipv6.h:18,
                 from include/linux/sunrpc/svcauth.h:18,
                 from include/linux/sunrpc/svc.h:18,
                 from arch/ia64/ia32/sys_ia32.c:37:
include/asm/elf.h:140:1: warning: this is the location of the previous definition
In file included from arch/ia64/ia32/sys_ia32.c:59:
arch/ia64/ia32/ia32priv.h:342:1: warning: "SET_PERSONALITY" redefined
In file included from include/linux/elf.h:7,
                 from include/linux/module.h:14,
                 from include/linux/textsearch.h:9,
                 from include/linux/skbuff.h:26,
                 from include/linux/icmpv6.h:79,
                 from include/linux/ipv6.h:197,
                 from include/net/ipv6.h:18,
                 from include/linux/sunrpc/svcauth.h:18,
                 from include/linux/sunrpc/svc.h:18,
                 from arch/ia64/ia32/sys_ia32.c:37:
include/asm/elf.h:180:1: warning: this is the location of the previous definition


I bet you didn't expect that.

Our header files suck.

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

* Re: git-nfsd on ia64
  2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
@ 2008-02-16  6:43 ` Andrew Morton
  2008-02-17  1:12 ` J. Bruce Fields
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Andrew Morton @ 2008-02-16  6:43 UTC (permalink / raw)
  To: linux-ia64

On Fri, 15 Feb 2008 22:39:43 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:

> Cunningly, current git-nfsd causes this, with ia64 allmodconfig:
> 
> .config:3397:warning: trying to assign nonexistent symbol NFSD_TCP
> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:297:1: warning: "elf_check_arch" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:19:1: warning: this is the location of the previous definition

Easy fix:

--- a/include/linux/sunrpc/svcauth.h~git-nfsd-fix
+++ a/include/linux/sunrpc/svcauth.h
@@ -15,7 +15,6 @@
 #include <linux/sunrpc/msg_prot.h>
 #include <linux/sunrpc/cache.h>
 #include <linux/hash.h>
-#include <net/ipv6.h>
 
 #define SVC_CRED_NGROUPS	32
 struct svc_cred {
@@ -25,6 +24,7 @@ struct svc_cred {
 };
 
 struct svc_rqst;		/* forward decl */
+struct in6_addr;
 
 /* Authentication is done in the context of a domain.
  *
_


This should have been done in the first place, IMO.  Avoid header file
dependencies, faster compile, avoid crap like the above.


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

* Re: git-nfsd on ia64
  2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
  2008-02-16  6:43 ` Andrew Morton
@ 2008-02-17  1:12 ` J. Bruce Fields
  2008-02-17  1:18 ` Andrew Morton
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: J. Bruce Fields @ 2008-02-17  1:12 UTC (permalink / raw)
  To: linux-ia64

On Fri, Feb 15, 2008 at 10:39:43PM -0800, Andrew Morton wrote:
> 
> Cunningly, current git-nfsd causes this, with ia64 allmodconfig:

I've applied your fix, thanks!

By the way:

> 
> .config:3397:warning: trying to assign nonexistent symbol NFSD_TCP

Should I be removing all references to NFSD_TCP in the patch that
removes NFSD_TCP?  That would mean touching 90 config files under arch.

--b.

> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:297:1: warning: "elf_check_arch" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:19:1: warning: this is the location of the previous definition
> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:302:1: warning: "ELF_CLASS" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:24:1: warning: this is the location of the previous definition
> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:304:1: warning: "ELF_ARCH" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:26:1: warning: this is the location of the previous definition
> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:318:1: warning: "ELF_EXEC_PAGESIZE" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:34:1: warning: this is the location of the previous definition
> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:327:1: warning: "ELF_ET_DYN_BASE" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:43:1: warning: this is the location of the previous definition
> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:330:1: warning: "ELF_PLAT_INIT" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:140:1: warning: this is the location of the previous definition
> In file included from arch/ia64/ia32/sys_ia32.c:59:
> arch/ia64/ia32/ia32priv.h:342:1: warning: "SET_PERSONALITY" redefined
> In file included from include/linux/elf.h:7,
>                  from include/linux/module.h:14,
>                  from include/linux/textsearch.h:9,
>                  from include/linux/skbuff.h:26,
>                  from include/linux/icmpv6.h:79,
>                  from include/linux/ipv6.h:197,
>                  from include/net/ipv6.h:18,
>                  from include/linux/sunrpc/svcauth.h:18,
>                  from include/linux/sunrpc/svc.h:18,
>                  from arch/ia64/ia32/sys_ia32.c:37:
> include/asm/elf.h:180:1: warning: this is the location of the previous definition
> 
> 
> I bet you didn't expect that.
> 
> Our header files suck.

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

* Re: git-nfsd on ia64
  2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
  2008-02-16  6:43 ` Andrew Morton
  2008-02-17  1:12 ` J. Bruce Fields
@ 2008-02-17  1:18 ` Andrew Morton
  2008-02-17  1:27 ` J. Bruce Fields
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Andrew Morton @ 2008-02-17  1:18 UTC (permalink / raw)
  To: linux-ia64

On Sat, 16 Feb 2008 20:12:06 -0500 "J. Bruce Fields" <bfields@fieldses.org> wrote:

> > 
> > .config:3397:warning: trying to assign nonexistent symbol NFSD_TCP
> 
> Should I be removing all references to NFSD_TCP in the patch that
> removes NFSD_TCP?  That would mean touching 90 config files under arch.

Nope.  They will slowly disappear over time as maintainers refresh their
defconfigs.

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

* Re: git-nfsd on ia64
  2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
                   ` (2 preceding siblings ...)
  2008-02-17  1:18 ` Andrew Morton
@ 2008-02-17  1:27 ` J. Bruce Fields
  2008-02-17 13:13 ` Christoph Hellwig
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: J. Bruce Fields @ 2008-02-17  1:27 UTC (permalink / raw)
  To: linux-ia64

On Fri, Feb 15, 2008 at 10:43:19PM -0800, Andrew Morton wrote:
> On Fri, 15 Feb 2008 22:39:43 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:
> 
> > Cunningly, current git-nfsd causes this, with ia64 allmodconfig:
> > 
> > .config:3397:warning: trying to assign nonexistent symbol NFSD_TCP
> > In file included from arch/ia64/ia32/sys_ia32.c:59:
> > arch/ia64/ia32/ia32priv.h:297:1: warning: "elf_check_arch" redefined
> > In file included from include/linux/elf.h:7,
> >                  from include/linux/module.h:14,
> >                  from include/linux/textsearch.h:9,
> >                  from include/linux/skbuff.h:26,
> >                  from include/linux/icmpv6.h:79,
> >                  from include/linux/ipv6.h:197,
> >                  from include/net/ipv6.h:18,
> >                  from include/linux/sunrpc/svcauth.h:18,
> >                  from include/linux/sunrpc/svc.h:18,
> >                  from arch/ia64/ia32/sys_ia32.c:37:
> > include/asm/elf.h:19:1: warning: this is the location of the previous definition
> 
> Easy fix:
> 
> --- a/include/linux/sunrpc/svcauth.h~git-nfsd-fix
> +++ a/include/linux/sunrpc/svcauth.h
> @@ -15,7 +15,6 @@
>  #include <linux/sunrpc/msg_prot.h>
>  #include <linux/sunrpc/cache.h>
>  #include <linux/hash.h>
> -#include <net/ipv6.h>
>  
>  #define SVC_CRED_NGROUPS	32
>  struct svc_cred {
> @@ -25,6 +24,7 @@ struct svc_cred {
>  };
>  
>  struct svc_rqst;		/* forward decl */
> +struct in6_addr;
>  
>  /* Authentication is done in the context of a domain.
>   *
> _
> 
> 
> This should have been done in the first place, IMO.  Avoid header file
> dependencies, faster compile, avoid crap like the above.

OK.  So as a general rule, we should skip the include any time when a
few structure declarations would suffice?

Hm.  It also seems wrong that sys_ia32.c would need to include so many
nfsd/sunrpc headers.  It looks like that should be easy to fix with a
better organization of the nfsd headers--I'll do that, assuming it's
considered worthwhile....

--b.

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

* Re: git-nfsd on ia64
  2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
                   ` (3 preceding siblings ...)
  2008-02-17  1:27 ` J. Bruce Fields
@ 2008-02-17 13:13 ` Christoph Hellwig
  2008-02-17 13:21 ` Christoph Hellwig
  2008-02-17 14:08 ` Matthew Wilcox
  6 siblings, 0 replies; 8+ messages in thread
From: Christoph Hellwig @ 2008-02-17 13:13 UTC (permalink / raw)
  To: linux-ia64

On Sat, Feb 16, 2008 at 08:27:06PM -0500, J. Bruce Fields wrote:
> > This should have been done in the first place, IMO.  Avoid header file
> > dependencies, faster compile, avoid crap like the above.
> 
> OK.  So as a general rule, we should skip the include any time when a
> few structure declarations would suffice?

Yes.  Unessecary includes should always be avoided, and forward
declarations are a nice way to avoid includes.

> Hm.  It also seems wrong that sys_ia32.c would need to include so many
> nfsd/sunrpc headers.  It looks like that should be easy to fix with a
> better organization of the nfsd headers--I'll do that, assuming it's
> considered worthwhile....

Why does it need to include either of these at all?  There's nothing
nfs-specific in that file.

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

* Re: git-nfsd on ia64
  2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
                   ` (4 preceding siblings ...)
  2008-02-17 13:13 ` Christoph Hellwig
@ 2008-02-17 13:21 ` Christoph Hellwig
  2008-02-17 14:08 ` Matthew Wilcox
  6 siblings, 0 replies; 8+ messages in thread
From: Christoph Hellwig @ 2008-02-17 13:21 UTC (permalink / raw)
  To: linux-ia64

On Sat, Feb 16, 2008 at 05:18:01PM -0800, Andrew Morton wrote:
> On Sat, 16 Feb 2008 20:12:06 -0500 "J. Bruce Fields" <bfields@fieldses.org> wrote:
> 
> > > 
> > > .config:3397:warning: trying to assign nonexistent symbol NFSD_TCP
> > 
> > Should I be removing all references to NFSD_TCP in the patch that
> > removes NFSD_TCP?  That would mean touching 90 config files under arch.
> 
> Nope.  They will slowly disappear over time as maintainers refresh their
> defconfigs.

That implies maintainers actually maintaining it.  When did we get the
last real update (nto just removeing dead options) to the 32bit x86
defconfig?

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

* Re: git-nfsd on ia64
  2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
                   ` (5 preceding siblings ...)
  2008-02-17 13:21 ` Christoph Hellwig
@ 2008-02-17 14:08 ` Matthew Wilcox
  6 siblings, 0 replies; 8+ messages in thread
From: Matthew Wilcox @ 2008-02-17 14:08 UTC (permalink / raw)
  To: linux-ia64

On Sun, Feb 17, 2008 at 08:21:32AM -0500, Christoph Hellwig wrote:
> That implies maintainers actually maintaining it.  When did we get the
> last real update (nto just removeing dead options) to the 32bit x86
> defconfig?

The last one I recall was in July 2006 when someone set the SUSPEND
partition in defconfig and machines without that partition existing
would panic on bootup.

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

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

end of thread, other threads:[~2008-02-17 14:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-16  6:39 git-nfsd on ia64 Andrew Morton
2008-02-16  6:43 ` Andrew Morton
2008-02-17  1:12 ` J. Bruce Fields
2008-02-17  1:18 ` Andrew Morton
2008-02-17  1:27 ` J. Bruce Fields
2008-02-17 13:13 ` Christoph Hellwig
2008-02-17 13:21 ` Christoph Hellwig
2008-02-17 14:08 ` Matthew Wilcox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox