NFSD: Remove NFSv4 dependency on NFSv3
Chuck Lever [Thu, 27 Mar 2008 20:34:54 +0000 (16:34 -0400)]
Clean up: Because NFSD_V4 "depends on" NFSD_V3, it appears as a child of
the NFSD_V3 menu entry, and is not visible if NFSD_V3 is unselected.

Replace the dependency on NFSD_V3 with a "select NFSD_V3".  This makes
NFSD_V4 look and work just like NFS_V3, while ensuring that NFSD_V3 is
enabled if NFSD_V4 is.

Sam Ravnborg adds:

"This use of select is questionable. In general it is bad to select
a symbol with dependencies.

In this case the dependencies of NFSD_V3 are duplicated for NFSD_V4
so we will not se erratic configurations but do you remember to
update NFSD_V4 when you add a depends on NFSD_V3?

But I see no other clean way to do it right now."

Later he said:

"My comment was more to say we have things to address in kconfig.
This is abuse in the acceptable range."

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>

fs/Kconfig

index 157a885..56c83f4 100644 (file)
@@ -1755,7 +1755,8 @@ config NFSD_V3_ACL
 
 config NFSD_V4
        bool "NFS server support for NFS version 4 (EXPERIMENTAL)"
-       depends on NFSD && NFSD_V3 && PROC_FS && EXPERIMENTAL
+       depends on NFSD && PROC_FS && EXPERIMENTAL
+       select NFSD_V3
        select FS_POSIX_ACL
        select RPCSEC_GSS_KRB5
        help