[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