[Devel] Re: [PATCH] Enhance checkpoint/restart Kconfig options

Nathan Lynch ntl at pobox.com
Thu Jun 4 21:25:22 PDT 2009


Dave Hansen <dave at linux.vnet.ibm.com> writes:
> On Thu, 2009-06-04 at 15:01 -0500, Nathan Lynch wrote:
>> Dave Hansen <dave at linux.vnet.ibm.com> writes:
>> > diff -puN checkpoint/Kconfig~cr-kconfig-fixup checkpoint/Kconfig
>> > --- linux-2.6.git/checkpoint/Kconfig~cr-kconfig-fixup	2009-06-04 11:38:57.000000000 -0700
>> > +++ linux-2.6.git-dave/checkpoint/Kconfig	2009-06-04 11:38:57.000000000 -0700
>> > @@ -7,9 +7,14 @@ config DEFERQUEUE
>> >  	default n
>> >  
>> >  config CHECKPOINT
>> > -	bool "Enable checkpoint/restart (EXPERIMENTAL)"
>> > +	bool "Checkpoint/restart (EXPERIMENTAL)"
>> >  	depends on CHECKPOINT_SUPPORT && EXPERIMENTAL
>> >  	select DEFERQUEUE
>> > +	select UTS_NS
>> > +	select IPC_NS
>> > +	select NET_NS
>> > +	select PID_NS
>> > +	select USER_NS
>> 
>> *_NS all depend on NAMESPACES at the very least; some have additional
>> dependencies.  Selecting a symbol without ensuring its dependencies are
>> enabled is one way to break a build.
>
> Ahh, but there *isn't* a strict build dependency on them.  We just want
> to make sure that if they're available that we enable them.  If we have
> CONFIG_NET=n, then we certainly don't want to make CHECKPOINT depends on
> it.

Sorry, I'm afraid I don't understand what you're saying here.

Here's a concrete example of what I'm talking about.

$ git checkout oren/ckpt-v16
$ make ARCH=i386 i386_defconfig
[ edit .config, enable CONFIG_CHECKPOINT and disable CONFIG_NET ]
$ make ARCH=i386 -s vmlinux   # which should succeed
[ apply your patch ]
$ make ARCH=i386 -s vmlinux
kernel/built-in.o: In function `free_nsproxy':
(.text+0x1daaf): undefined reference to `__put_net'
make: *** [.tmp_vmlinux1] Error 1

_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list