[libvirt] [PATCH 03/12] vcpu: add new public API
Daniel Veillard
veillard at redhat.com
Fri Oct 1 14:22:32 UTC 2010
On Wed, Sep 29, 2010 at 06:02:07PM -0600, Eric Blake wrote:
> API agreed on in
> https://www.redhat.com/archives/libvir-list/2010-September/msg00456.html
>
> * include/libvirt/libvirt.h.in (virDomainVcpuFlags)
> (virDomainSetVcpusFlags, virDomainGetVcpusFlags): New
> declarations.
> * src/libvirt_public.syms: Export new symbols.
> ---
>
> However, in implementing things, I'm wondering if I should use the names:
>
> VIR_DOMAIN_VCPU_CONFIG (instead of VIR_DOMAIN_VCPU_PERSISTENT)
> VIR_DOMAIN_VCPU_LIVE (instead of VIR_DOMAIN_VCPU_ACTIVE)
>
> to match virDomainDeviceModifyFlags, where _CONFIG and _LIVE have
> the same semantics of setting one or both aspects of a domain.
>
> include/libvirt/libvirt.h.in | 14 ++++++++++++++
> src/libvirt_public.syms | 6 ++++++
> 2 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index b45f7ec..6bac8f1 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -826,8 +826,22 @@ struct _virVcpuInfo {
> };
> typedef virVcpuInfo *virVcpuInfoPtr;
>
> +typedef enum {
> + /* Must choose at least one of these two bits; SetVcpus can choose both */
> + VIR_DOMAIN_VCPU_ACTIVE = (1 << 0), /* Affect active domain */
> + VIR_DOMAIN_VCPU_PERSISTENT = (1 << 1), /* Affect next boot */
> +
> + /* Additional flags to be bit-wise OR'd in */
> + VIR_DOMAIN_VCPU_MAXIMUM = (1 << 2), /* Max rather than current count */
> +} virDomainVcpuFlags;
> +
> int virDomainSetVcpus (virDomainPtr domain,
> unsigned int nvcpus);
> +int virDomainSetVcpusFlags (virDomainPtr domain,
> + unsigned int nvcpus,
> + unsigned int flags);
> +int virDomainGetVcpusFlags (virDomainPtr domain,
> + unsigned int flags);
>
> int virDomainPinVcpu (virDomainPtr domain,
> unsigned int vcpu,
> diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms
> index 849c163..4e89723 100644
> --- a/src/libvirt_public.syms
> +++ b/src/libvirt_public.syms
> @@ -405,4 +405,10 @@ LIBVIRT_0.8.2 {
> virDomainCreateWithFlags;
> } LIBVIRT_0.8.1;
>
> +LIBVIRT_0.8.5 {
> + global:
> + virDomainGetVcpusFlags;
> + virDomainSetVcpusFlags;
> +} LIBVIRT_0.8.2;
> +
> # .... define new API here using predicted next version number ....
ACK,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list