Subject: Re: [vserver] Hardcoded Context Limits
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Thu, 25 Nov 2010 14:17:17 +0100

On Thu, Nov 25, 2010 at 01:55:58PM +0100, Marcus Mülbüsch wrote:
> Hello all,

>    using util-vserver-0.30.215-r3 on 2.6.22-vs2.2.0.7-gentoo (yes, I 
> know, quite old; but the only one not in ~testing), and I found 
> something strange:

> http://linux-vserver.org/Context tells me that there may be a
> hardcoded limit of 49152. However, I have a perfectly well running
> vserver with a XID of 61128 so I thought this limit didn't 
> apply here.

the xid/nid is a 16 bit value, so the range is 0-65535,
but 0 and 1 are special and 49152-65535 are reserved
for dynamic context creation (was removed in recent
kernels). note that 65535 is used to mark expired
contexts but it can be used like a normal context if
you don't care about debugging ...

>    But alas, after I build a vserver with the XID of 91126 it 
> doesn't start but fails with:

> "
> vserver test start
> ncontext: vc_net_migrate(): No such process

> An error occured while executing the vserver startup sequence; when
> there are no other messages, it is very likely that the init-script
> (env TERM=linux /lib/rc/sh/init-vserver.sh default) failed.

> Common causes are:
> * /etc/rc.d/rc on Fedora Core 1 and RH9 fails always; the 'apt-rpm' build
>   method knows how to deal with this, but on existing installations,
>   appending 'true' to this file will help.

> Failed to start vserver 'test'
> "

>    Building the same vserver with another XID works perfectly fine.

>    Out of curiosity: Is there another limit that does apply here? 
> is it by some chance 65535?

you guessed correctly, but I doubt that you will use up
all 65533 contexts that easily ...

best,
Herbert

> Thank you,
> Marcus