On 10/01/2010 09:01 AM, Daniel Veillard wrote:
On Wed, Sep 29, 2010 at 06:02:12PM -0600, Eric Blake wrote:
> * src/conf/domain_conf.h (_virDomainDef): Adjust vcpus to unsigned
> short, to match virDomainGetInfo limit. Add maxvcpus member.
[...]
>
> Two tightly-related changes. One: virDomainGetInfo implicitly limits
> vcpus to a 16-bit number; so there's no need to pretend otherwise
> through the rest of the code.
well, yes and no, in a few years we may look ridiculous, but it would
be good to have the new APIs cleared up from that limitation.
So, should I keep the change to 16-bit in my v2 series, or should I keep
things at 32-bit and add code that makes virDomainGetInfo fail on 16-bit
overflow? Right now, it's easier to keep things at 16-bit throughout.
Also, note that the new APIs (virDomainGetVcpusFlags and
virDomainSetVcpusFlags) can go up to 31 bits. Get must return -1 on
failure, so a full 32-bits cannot be returned; so even though Set passes
an unsigned value, we should not accept 0x80000000, even if we decide
someday that we want to support 0x10000 vcpus.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org