Subject: Re: [vserver] vdlimit limited to 32-bit integer
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Sat, 14 Nov 2009 17:11:49 +0100

On Fri, Nov 13, 2009 at 04:49:12PM +0100, Andre Timmermann wrote:
> Hello list,

> today, I stumbled over a limitation in vdlimt:

> /usr/sbin/vdlimit --xid 60144 --set space_used=2069262452 --set
> space_total=4744204664 --set inodes_used=1185528 --set
> inodes_total=286501273 /var/lib/vservers/vstest/ 

> invalid parameters: 'space_used' is larger than 'space_total'

> As far, as I can see, space_total is limited to 2^32 - 1 = 4294967295

correct, that is not only a limitation of vdlimit,
but also of the kernel interface (which uses uint32_t too)

> On line 85 of 
> http://svn.linux-vserver.org/projects/util-vserver/browser/trunk/src/vdlimit.c
> I see an "uint32_t"  which seemes to be the limiting factor.

> I can't write C so I can't fix it, but perhaps this helps ;)

the question is, do you really need more?

space_total and space_used is in kilobyte, so 2^10 bytes
that makes a total max of 2^41 (there are some special values)
or 2TB, which usually should suffice for guest limits

present a case why you need more than that and we might
extend the interface to cover all 2^64 accounted bytes
(i.e. 16EB, exa bytes)

best,
Herbert

> Greetz,
> Andre
> 
> 
> 
>