* [PATCH 5/5] NFSD: Use "depends on" for PROC_FS dependency
@ 2008-02-05 0:04 Chuck Lever
[not found] ` <20080205000450.18602.4797.stgit-meopP2rzCrTwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Chuck Lever @ 2008-02-05 0:04 UTC (permalink / raw)
To: bfields; +Cc: linux-nfs
Recently a reverse dependency was added to fs/Kconfig to ensure that
PROC_FS was enabled if NFSD_V4 was enabled.
There is a guideline in Documentation/kbuild/kconfig-language.txt that
states "In general use select only for non-visible symbols (no prompts
anywhere) and for symbols with no dependencies."
A quick grep around other Kconfig files reveals that no entry currently
uses "select PROC_FS" -- every one uses "depends on". Thus CONFIG_NFSD_V4
should use "depends on PROC_FS" as well.
For SUNRPC_GSS, it's a little more complex. Other entries can "select"
SUNRPC_GSS, as it is non-visible. However, the guideline suggests an
entry can't "select" it if it has a dependency (such as PROC_FS).
Another problem is that if a tristate entry (SUNRPC_GSS) "depends on" a
boolean (PROC_FS) we can't set the tristate entry to M.
XXX: Both CONFIG_NFSV4 and CONFIG_NFSD_V4 select RPCSEC_GSS_KRB5, which is
visible, which kconfig-language.txt also frowns upon. The intent was to
enable at least one GSS mechanism if V4 was enabled. Perhaps we should
make SUNRPC_GSS visible, and make the NFSv4 options visible only if
SUNRPC_GSS is enabled.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
fs/Kconfig | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/fs/Kconfig b/fs/Kconfig
index 5ccff9a..d689226 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1689,7 +1689,6 @@ config NFSD
select CRYPTO_MD5 if NFSD_V4
select CRYPTO if NFSD_V4
select FS_POSIX_ACL if NFSD_V4
- select PROC_FS if NFSD_V4
select PROC_FS if SUNRPC_GSS
help
Say Y here if you want to allow other computers to access files
@@ -1750,7 +1749,7 @@ config NFSD_V3_ACL
config NFSD_V4
bool "Provide NFSv4 server support (EXPERIMENTAL)"
- depends on NFSD && NFSD_V3 && EXPERIMENTAL
+ depends on NFSD && NFSD_V3 && PROC_FS && EXPERIMENTAL
select RPCSEC_GSS_KRB5
help
This option enables support in your system's NFS server for
^ permalink raw reply related [flat|nested] 4+ messages in thread[parent not found: <20080205000450.18602.4797.stgit-meopP2rzCrTwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>]
* Re: [PATCH 5/5] NFSD: Use "depends on" for PROC_FS dependency [not found] ` <20080205000450.18602.4797.stgit-meopP2rzCrTwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org> @ 2008-02-05 0:28 ` Chuck Lever 2008-02-05 0:30 ` J. Bruce Fields 0 siblings, 1 reply; 4+ messages in thread From: Chuck Lever @ 2008-02-05 0:28 UTC (permalink / raw) To: J. Bruce Fields; +Cc: NFS list Sigh. I see this is broken already. It may be the case that "select ... if ..." is the only way to do this. On Feb 4, 2008, at 7:04 PM, Chuck Lever wrote: > Recently a reverse dependency was added to fs/Kconfig to ensure that > PROC_FS was enabled if NFSD_V4 was enabled. > > There is a guideline in Documentation/kbuild/kconfig-language.txt that > states "In general use select only for non-visible symbols (no prompts > anywhere) and for symbols with no dependencies." > > A quick grep around other Kconfig files reveals that no entry > currently > uses "select PROC_FS" -- every one uses "depends on". Thus > CONFIG_NFSD_V4 > should use "depends on PROC_FS" as well. > > For SUNRPC_GSS, it's a little more complex. Other entries can > "select" > SUNRPC_GSS, as it is non-visible. However, the guideline suggests an > entry can't "select" it if it has a dependency (such as PROC_FS). > > Another problem is that if a tristate entry (SUNRPC_GSS) "depends > on" a > boolean (PROC_FS) we can't set the tristate entry to M. > > XXX: Both CONFIG_NFSV4 and CONFIG_NFSD_V4 select RPCSEC_GSS_KRB5, > which is > visible, which kconfig-language.txt also frowns upon. The intent > was to > enable at least one GSS mechanism if V4 was enabled. Perhaps we > should > make SUNRPC_GSS visible, and make the NFSv4 options visible only if > SUNRPC_GSS is enabled. > > Signed-off-by: Chuck Lever <chuck.lever@oracle.com> > --- > > fs/Kconfig | 3 +-- > 1 files changed, 1 insertions(+), 2 deletions(-) > > diff --git a/fs/Kconfig b/fs/Kconfig > index 5ccff9a..d689226 100644 > --- a/fs/Kconfig > +++ b/fs/Kconfig > @@ -1689,7 +1689,6 @@ config NFSD > select CRYPTO_MD5 if NFSD_V4 > select CRYPTO if NFSD_V4 > select FS_POSIX_ACL if NFSD_V4 > - select PROC_FS if NFSD_V4 > select PROC_FS if SUNRPC_GSS > help > Say Y here if you want to allow other computers to access files > @@ -1750,7 +1749,7 @@ config NFSD_V3_ACL > > config NFSD_V4 > bool "Provide NFSv4 server support (EXPERIMENTAL)" > - depends on NFSD && NFSD_V3 && EXPERIMENTAL > + depends on NFSD && NFSD_V3 && PROC_FS && EXPERIMENTAL > select RPCSEC_GSS_KRB5 > help > This option enables support in your system's NFS server for > > - > To unsubscribe from this list: send the line "unsubscribe linux- > nfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever chuck[dot]lever[at]oracle[dot]com ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 5/5] NFSD: Use "depends on" for PROC_FS dependency 2008-02-05 0:28 ` Chuck Lever @ 2008-02-05 0:30 ` J. Bruce Fields 2008-02-05 0:37 ` Chuck Lever 0 siblings, 1 reply; 4+ messages in thread From: J. Bruce Fields @ 2008-02-05 0:30 UTC (permalink / raw) To: Chuck Lever; +Cc: NFS list On Mon, Feb 04, 2008 at 07:28:18PM -0500, Chuck Lever wrote: > Sigh. I see this is broken already. What was the problem? --b. > > It may be the case that "select ... if ..." is the only way to do this. > > On Feb 4, 2008, at 7:04 PM, Chuck Lever wrote: > >> Recently a reverse dependency was added to fs/Kconfig to ensure that >> PROC_FS was enabled if NFSD_V4 was enabled. >> >> There is a guideline in Documentation/kbuild/kconfig-language.txt that >> states "In general use select only for non-visible symbols (no prompts >> anywhere) and for symbols with no dependencies." >> >> A quick grep around other Kconfig files reveals that no entry >> currently >> uses "select PROC_FS" -- every one uses "depends on". Thus >> CONFIG_NFSD_V4 >> should use "depends on PROC_FS" as well. >> >> For SUNRPC_GSS, it's a little more complex. Other entries can >> "select" >> SUNRPC_GSS, as it is non-visible. However, the guideline suggests an >> entry can't "select" it if it has a dependency (such as PROC_FS). >> >> Another problem is that if a tristate entry (SUNRPC_GSS) "depends on" a >> boolean (PROC_FS) we can't set the tristate entry to M. >> >> XXX: Both CONFIG_NFSV4 and CONFIG_NFSD_V4 select RPCSEC_GSS_KRB5, >> which is >> visible, which kconfig-language.txt also frowns upon. The intent was >> to >> enable at least one GSS mechanism if V4 was enabled. Perhaps we >> should >> make SUNRPC_GSS visible, and make the NFSv4 options visible only if >> SUNRPC_GSS is enabled. >> >> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> >> --- >> >> fs/Kconfig | 3 +-- >> 1 files changed, 1 insertions(+), 2 deletions(-) >> >> diff --git a/fs/Kconfig b/fs/Kconfig >> index 5ccff9a..d689226 100644 >> --- a/fs/Kconfig >> +++ b/fs/Kconfig >> @@ -1689,7 +1689,6 @@ config NFSD >> select CRYPTO_MD5 if NFSD_V4 >> select CRYPTO if NFSD_V4 >> select FS_POSIX_ACL if NFSD_V4 >> - select PROC_FS if NFSD_V4 >> select PROC_FS if SUNRPC_GSS >> help >> Say Y here if you want to allow other computers to access files >> @@ -1750,7 +1749,7 @@ config NFSD_V3_ACL >> >> config NFSD_V4 >> bool "Provide NFSv4 server support (EXPERIMENTAL)" >> - depends on NFSD && NFSD_V3 && EXPERIMENTAL >> + depends on NFSD && NFSD_V3 && PROC_FS && EXPERIMENTAL >> select RPCSEC_GSS_KRB5 >> help >> This option enables support in your system's NFS server for >> >> - >> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > Chuck Lever > chuck[dot]lever[at]oracle[dot]com > > > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 5/5] NFSD: Use "depends on" for PROC_FS dependency 2008-02-05 0:30 ` J. Bruce Fields @ 2008-02-05 0:37 ` Chuck Lever 0 siblings, 0 replies; 4+ messages in thread From: Chuck Lever @ 2008-02-05 0:37 UTC (permalink / raw) To: J. Bruce Fields; +Cc: NFS list On Feb 4, 2008, at 7:30 PM, J. Bruce Fields wrote: > On Mon, Feb 04, 2008 at 07:28:18PM -0500, Chuck Lever wrote: >> Sigh. I see this is broken already. > > What was the problem? [cel@manray nfs-2.6]$ make menuconfig GEN /u/cel/obj/Makefile scripts/kconfig/mconf arch/x86/Kconfig fs/Kconfig:1751:error: found recursive dependency: NFSD_V4 -> RPCSEC_GSS_KRB5 -> SUNRPC_GSS -> PROC_FS -> NFSD_V4 -> CRYPTO -> CRYPTO_ANUBISmake[2]: *** [menuconfig] Error 1 make[1]: *** [menuconfig] Error 2 make: *** [sub-make] Error 2 [cel@manray nfs-2.6]$ That may be because of the other issue I noticed: that NFSD_V4 selects RPCSEC_GSS_KRB5, which is a visible config entry. >> It may be the case that "select ... if ..." is the only way to do >> this. >> >> On Feb 4, 2008, at 7:04 PM, Chuck Lever wrote: >> >>> Recently a reverse dependency was added to fs/Kconfig to ensure that >>> PROC_FS was enabled if NFSD_V4 was enabled. >>> >>> There is a guideline in Documentation/kbuild/kconfig-language.txt >>> that >>> states "In general use select only for non-visible symbols (no >>> prompts >>> anywhere) and for symbols with no dependencies." >>> >>> A quick grep around other Kconfig files reveals that no entry >>> currently >>> uses "select PROC_FS" -- every one uses "depends on". Thus >>> CONFIG_NFSD_V4 >>> should use "depends on PROC_FS" as well. >>> >>> For SUNRPC_GSS, it's a little more complex. Other entries can >>> "select" >>> SUNRPC_GSS, as it is non-visible. However, the guideline >>> suggests an >>> entry can't "select" it if it has a dependency (such as PROC_FS). >>> >>> Another problem is that if a tristate entry (SUNRPC_GSS) "depends >>> on" a >>> boolean (PROC_FS) we can't set the tristate entry to M. >>> >>> XXX: Both CONFIG_NFSV4 and CONFIG_NFSD_V4 select RPCSEC_GSS_KRB5, >>> which is >>> visible, which kconfig-language.txt also frowns upon. The intent >>> was >>> to >>> enable at least one GSS mechanism if V4 was enabled. Perhaps we >>> should >>> make SUNRPC_GSS visible, and make the NFSv4 options visible only if >>> SUNRPC_GSS is enabled. >>> >>> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> >>> --- >>> >>> fs/Kconfig | 3 +-- >>> 1 files changed, 1 insertions(+), 2 deletions(-) >>> >>> diff --git a/fs/Kconfig b/fs/Kconfig >>> index 5ccff9a..d689226 100644 >>> --- a/fs/Kconfig >>> +++ b/fs/Kconfig >>> @@ -1689,7 +1689,6 @@ config NFSD >>> select CRYPTO_MD5 if NFSD_V4 >>> select CRYPTO if NFSD_V4 >>> select FS_POSIX_ACL if NFSD_V4 >>> - select PROC_FS if NFSD_V4 >>> select PROC_FS if SUNRPC_GSS >>> help >>> Say Y here if you want to allow other computers to access files >>> @@ -1750,7 +1749,7 @@ config NFSD_V3_ACL >>> >>> config NFSD_V4 >>> bool "Provide NFSv4 server support (EXPERIMENTAL)" >>> - depends on NFSD && NFSD_V3 && EXPERIMENTAL >>> + depends on NFSD && NFSD_V3 && PROC_FS && EXPERIMENTAL >>> select RPCSEC_GSS_KRB5 >>> help >>> This option enables support in your system's NFS server for >>> >>> - >>> To unsubscribe from this list: send the line "unsubscribe linux- >>> nfs" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> -- >> Chuck Lever >> chuck[dot]lever[at]oracle[dot]com >> >> >> -- Chuck Lever chuck[dot]lever[at]oracle[dot]com ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-02-05 0:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-02-05 0:04 [PATCH 5/5] NFSD: Use "depends on" for PROC_FS dependency Chuck Lever
[not found] ` <20080205000450.18602.4797.stgit-meopP2rzCrTwdl/1UfZZQIVfYA8g3rJ/@public.gmane.org>
2008-02-05 0:28 ` Chuck Lever
2008-02-05 0:30 ` J. Bruce Fields
2008-02-05 0:37 ` Chuck Lever
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox