[libvirt] [PATCH v2 01/11] Add new virDomainDefineXMLFlags public API
Jiri Denemark
jdenemar at redhat.com
Mon Jan 12 15:35:35 UTC 2015
On Thu, Jan 08, 2015 at 15:48:12 +0000, Daniel Berrange wrote:
> The virDomainDefineXML method is one of the few that still lacks
> an 'unsigned int flags' parameter. This will be needed for adding
> XML validation to this API. virDomainCreateXML fortunately already
> has flags.
> ---
> include/libvirt/libvirt-domain.h | 4 ++++
> src/driver-hypervisor.h | 5 +++++
> src/libvirt-domain.c | 48 ++++++++++++++++++++++++++++++++++++++++
> src/libvirt_public.syms | 5 +++++
> src/remote/remote_driver.c | 1 +
> src/remote/remote_protocol.x | 19 +++++++++++++++-
> src/remote_protocol-structs | 8 +++++++
> 7 files changed, 89 insertions(+), 1 deletion(-)
>
> diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
> index 0b1a2d6..3a83571 100644
> --- a/include/libvirt/libvirt-domain.h
> +++ b/include/libvirt/libvirt-domain.h
> @@ -1422,6 +1422,10 @@ int virDomainMemoryPeek (virDomainPtr dom,
> */
> virDomainPtr virDomainDefineXML (virConnectPtr conn,
> const char *xml);
> +
> +virDomainPtr virDomainDefineXMLFlags (virConnectPtr conn,
> + const char *xml,
> + unsigned int flags);
> int virDomainUndefine (virDomainPtr domain);
>
> typedef enum {
> diff --git a/src/driver-hypervisor.h b/src/driver-hypervisor.h
> index 9f26b13..a1d2a0a 100644
> --- a/src/driver-hypervisor.h
> +++ b/src/driver-hypervisor.h
> @@ -314,6 +314,10 @@ typedef int
> typedef virDomainPtr
> (*virDrvDomainDefineXML)(virConnectPtr conn,
> const char *xml);
> +typedef virDomainPtr
> +(*virDrvDomainDefineXMLFlags)(virConnectPtr conn,
> + const char *xml,
> + unsigned int flags);
>
> typedef int
> (*virDrvDomainUndefine)(virDomainPtr dom);
> @@ -1265,6 +1269,7 @@ struct _virHypervisorDriver {
> virDrvDomainCreateWithFlags domainCreateWithFlags;
> virDrvDomainCreateWithFiles domainCreateWithFiles;
> virDrvDomainDefineXML domainDefineXML;
> + virDrvDomainDefineXMLFlags domainDefineXMLFlags;
> virDrvDomainUndefine domainUndefine;
> virDrvDomainUndefineFlags domainUndefineFlags;
> virDrvDomainAttachDevice domainAttachDevice;
> diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
> index 6ec68aa..e211fac 100644
> --- a/src/libvirt-domain.c
> +++ b/src/libvirt-domain.c
> @@ -6476,6 +6476,54 @@ virDomainDefineXML(virConnectPtr conn, const char *xml)
>
>
> /**
> + * virDomainDefineXMLFlags:
> + * @conn: pointer to the hypervisor connection
> + * @xml: the XML description for the domain, preferably in UTF-8
> + * @flags: bitwise OR of virDomainDefineFlags
Strictly speaking, @flags should be documented as unused until 10/11
where it should be changed to virDomainDefineFlags since this enum does
not exist until then.
The rest of the patch looks good. ACK.
Jirka
More information about the libvir-list
mailing list