On 07/19/2011 09:57 AM, Osier Yang wrote:
This introduces a new API virDomainUndefineFlags to control the
domain undefine process, as the existing API virDomainUndefine
doesn't support flags.
Currently only flag VIR_DOMAIN_UNDEFINE_MANAGED_SAVE is supported.
If the domain has a managed save image, including
VIR_DOMAIN_UNDEFINE_MANAGED_SAVE in @flags will also remove that
file, and omitting the flag will cause undefine process to fail.
This patch also changes the behavior of virDomainUndefine, if the
domain has a managed save image, the undefine will be refused.
---
include/libvirt/libvirt.h.in | 10 +++++++
src/driver.h | 4 +++
src/libvirt.c | 60 +++++++++++++++++++++++++++++++++++++++++-
src/libvirt_public.syms | 5 +++
4 files changed, 78 insertions(+), 1 deletions(-)
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index 607b5bc..5f9f08a 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -1200,6 +1200,16 @@ int virDomainMemoryPeek (virDomainPtr dom,
virDomainPtr virDomainDefineXML (virConnectPtr conn,
const char *xml);
int virDomainUndefine (virDomainPtr domain);
+
+typedef enum {
+ VIR_DOMAIN_UNDEFINE_MANAGED_SAVE = 1,
Style nit - I'd write this "1<<0" rather than "1", to make
it clear that
future additions will be bits, as in "1<<1", "1<<2".
ACK. We're finally there on a nice interface.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org