Hello Trond,
On Mon, Aug 30, 2010 at 09:50:24AM -0400, Trond Myklebust wrote:
They are not broken. The problem is that it's possible to configure a
kernel that doesn't build. Note the config resulting from the
mx1_defconfig target fully conform to the restrictions expressed in the
Kconfig files even if arch/arm/configs/mx1_defconfig doesn't. So if
NFS_V4 was selecting CRYPTO (or CRYPTO would default to y in the
presence of NFS_V4) mx1_defconfig would enable it implicitly.
If NFSD_V4 selects RPCSEC_GSS_KRB5 which in turn selects SUNRPC_GSS the
latter should be enabled in all builds that have NFSD_V4=y (assuming all
dependencies are fulfilled), no?
The problem that needed fixing before your commit was that
RPCSEC_GSS_KRB5 depended on EXPERIMENTAL while NFS_V4 did not (and so
the select RPCSEC_GSS_KRB5 done by NFS_V4 didn't work if EXPERIMENTAL
was unset.) So the minimal fix would have been to remove the "&&
EXPERIMENTAL" from RPCSEC_GSS_KRB5.
Your commit additionally did the following:
- change the default of RPCSEC_GSS_KRB5 to y if !(NFS_V4 || NFSD_V4)
- let RPCSEC_GSS_KRB5 depend on CRYPTO (was *select* CRYPTO before)
- express the dependency NFSD_V4 -> RPCSEC_GSS_KRB5 at the latter
symbol (was expressed at NFSD_V4 before)
So because of the second change listed above now my situation is similar
to Randy's earlier, but my problem is I don't have CRYPTO while Randy's
was that he didn't have EXPERIMENTAL. (That's what I guess, I didn't
read the corresponding thread.)
Subsuming the situation your commit fixed a problem but introduced a
very similar one.
That would be OK for me, too. Do you do it? I guess this has to wait
for the next merge window, so I suggest to still take my patch.
I understand your construct, but I think it's non sensible to do it this
way. You're hiding a dependency of NFS_V4 this way (to the developper,
not the user configuring the kernel).
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--