[libvirt] [PATCHv1.5 23/27] qemu: snapshot: Add functions similar to disk source pool translation

Peter Krempa pkrempa at redhat.com
Tue Nov 26 16:49:05 UTC 2013


To avoid future pain, add placeholder functions to get the actual
snapshot disk type.
---
 src/qemu/qemu_conf.c | 23 +++++++++++++++++++++++
 src/qemu/qemu_conf.h |  6 ++++++
 2 files changed, 29 insertions(+)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 639e2ff..210608e 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1453,3 +1453,26 @@ cleanup:
     virStoragePoolDefFree(pooldef);
     return ret;
 }
+
+
+int
+qemuSnapshotDiskGetActualType(virDomainSnapshotDiskDefPtr def)
+{
+    if (def->type == -1)
+        return VIR_DOMAIN_DISK_TYPE_FILE;
+
+    return def->type;
+}
+
+
+int
+qemuTranslateSnapshotDiskSourcePool(virConnectPtr conn ATTRIBUTE_UNUSED,
+                                    virDomainSnapshotDiskDefPtr def)
+{
+    if (def->type != VIR_DOMAIN_DISK_TYPE_VOLUME)
+        return 0;
+
+    virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                   _("Snapshots are not yet supported with 'pool' volumes"));
+    return -1;
+}
diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index b9786b1..0cb7901 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -29,6 +29,7 @@
 # include "capabilities.h"
 # include "network_conf.h"
 # include "domain_conf.h"
+# include "snapshot_conf.h"
 # include "domain_event.h"
 # include "virthread.h"
 # include "security/security_manager.h"
@@ -309,4 +310,9 @@ int qemuDiskGetActualType(virDomainDiskDefPtr def);
 int qemuTranslateDiskSourcePool(virConnectPtr conn,
                                 virDomainDiskDefPtr def);

+int qemuSnapshotDiskGetActualType(virDomainSnapshotDiskDefPtr def);
+
+int qemuTranslateSnapshotDiskSourcePool(virConnectPtr conn,
+                                        virDomainSnapshotDiskDefPtr def);
+
 #endif /* __QEMUD_CONF_H */
-- 
1.8.4.3




More information about the libvir-list mailing list