
On 09/27/2010 11:20 AM, Eric Blake wrote:
No change to existing API semantics, although the implementation can wrap old APIs to call the new ones with appropriate flags where appropriate to minimize code duplication.
One more API to think about: virDomainGetInfo returns a virDomainInfoPtr, where that struct includes an unsigned short nrVirtCpu member. I'm assuming that since this is a public struct involved in on-the-wire RPC protocol, we can't change it to add a new member (and it also implicitly means that we are limited to 64k vcpus, even though the unsigned int argument of virDomainSetVcpus could otherwise go larger). Given my testing, it looks like this field tracks live changes from virsh setvcpus, so this now needs to be explicitly documented as the current vcpu rather than the maximum, when the two differ. Which means we have another synonym:
- current vcpu on running guests
virDomainGetVcpusFlags(,VIR_DOMAIN_VCPU_ACTIVE) virDomainGetVcpus() + parsing pinning info virDomainGetInfo()
-- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org