File libvirt-snapshot-conf-Make-virDomainSnapshotIsExternal-more-reusable.patch of Package libvirt

From 155d8f26814d24ffeb5c831a849e36e5202839ab Mon Sep 17 00:00:00 2001
Message-Id: <155d8f26814d24ffeb5c831a849e36e5202839ab.1357740563.git.jdenemar@redhat.com>
From: Peter Krempa <pkrempa@redhat.com>
Date: Sat, 5 Jan 2013 08:59:27 +0100
Subject: [PATCH] snapshot: conf: Make virDomainSnapshotIsExternal more
 reusable

https://bugzilla.redhat.com/show_bug.cgi?id=889407

Allow to use definition objects with this predicate function.
(cherry picked from commit 51b12b8ccaed08d7bf25384973aa14ab1e79b430)
---
 src/conf/snapshot_conf.c | 14 ++++++++++----
 src/conf/snapshot_conf.h |  1 +
 src/libvirt_private.syms |  1 +
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
index 5766031..97176dc 100644
--- a/src/conf/snapshot_conf.c
+++ b/src/conf/snapshot_conf.c
@@ -1062,17 +1062,23 @@ cleanup:
 
 
 bool
-virDomainSnapshotIsExternal(virDomainSnapshotObjPtr snap)
+virDomainSnapshotDefIsExternal(virDomainSnapshotDefPtr def)
 {
     int i;
 
-    if (snap->def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL)
+    if (def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL)
         return true;
 
-    for (i = 0; i < snap->def->ndisks; i++) {
-        if (snap->def->disks[i].snapshot == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL)
+    for (i = 0; i < def->ndisks; i++) {
+        if (def->disks[i].snapshot == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL)
             return true;
     }
 
     return false;
 }
+
+bool
+virDomainSnapshotIsExternal(virDomainSnapshotObjPtr snap)
+{
+    return virDomainSnapshotDefIsExternal(snap->def);
+}
diff --git a/src/conf/snapshot_conf.h b/src/conf/snapshot_conf.h
index b0f8760..f1d5995 100644
--- a/src/conf/snapshot_conf.h
+++ b/src/conf/snapshot_conf.h
@@ -166,6 +166,7 @@ int virDomainListSnapshots(virDomainSnapshotObjListPtr snapshots,
                            virDomainSnapshotPtr **snaps,
                            unsigned int flags);
 
+bool virDomainSnapshotDefIsExternal(virDomainSnapshotDefPtr def);
 bool virDomainSnapshotIsExternal(virDomainSnapshotObjPtr snap);
 
 VIR_ENUM_DECL(virDomainSnapshotLocation)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 4999e8b..5df2931 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1087,6 +1087,7 @@ virDomainSnapshotAlignDisks;
 virDomainSnapshotAssignDef;
 virDomainSnapshotDefFormat;
 virDomainSnapshotDefFree;
+virDomainSnapshotDefIsExternal;
 virDomainSnapshotDefParseString;
 virDomainSnapshotDropParent;
 virDomainSnapshotFindByName;
-- 
1.8.1

openSUSE Build Service is sponsored by