[libvirt] [PATCH 1/8] Add new API virDomain{Set, Get}BlockIoTune

Eric Blake eblake at redhat.com
Wed Nov 9 20:43:28 UTC 2011


On 11/09/2011 01:32 PM, Lei Li wrote:
> This patch add new pulic API virDomainSetBlockIoTune and
> virDomainGetBlockIoTune.
>
>
> Signed-off-by: Zhi Yong Wu<wuzhy at linux.vnet.ibm.com>
> Signed-off-by: Lei Li<lilei at linux.vnet.ibm.com>
> ---
>   include/libvirt/libvirt.h.in |   26 +++++++++
>   src/driver.h                 |   19 +++++++
>   src/libvirt.c                |  115 ++++++++++++++++++++++++++++++++++++++++++
>   src/libvirt_public.syms      |    2 +
>   4 files changed, 162 insertions(+), 0 deletions(-)
>
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index aa320b6..a79c35e 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -1640,6 +1640,32 @@ int    virDomainBlockJobSetSpeed(virDomainPtr dom, const char *path,
>   int           virDomainBlockPull(virDomainPtr dom, const char *path,
>                                    unsigned long bandwidth, unsigned int flags);
>
> +/*
> + * Block I/O throttling support
> + */
> +
> +typedef struct _virDomainBlockIoTuneInfo virDomainBlockIoTuneInfo;
> +struct _virDomainBlockIoTuneInfo {
> +    unsigned long long total_bytes_sec;
> +    unsigned long long read_bytes_sec;
> +    unsigned long long write_bytes_sec;
> +    unsigned long long total_iops_sec;
> +    unsigned long long read_iops_sec;
> +    unsigned long long write_iops_sec;
> +};
> +typedef virDomainBlockIoTuneInfo *virDomainBlockIoTuneInfoPtr;

This is not extensible.  We've already learned the hard way that this 
MUST use virTypedParameter to make future additions painless, rather 
than hard-coding a particular structure.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list