[libvirt] [PATCH 08/23] qemu: domain: Add helper to generate indexed backing store names

Peter Krempa pkrempa at redhat.com
Wed Mar 15 16:37:20 UTC 2017


The code is currently simple, but if we later add node names, it will be
necessary to generate the names based on the node name. Add a helper so
that there's a central point to fix once we add self-generated node
names.
---
 src/qemu/qemu_domain.c | 22 ++++++++++++++++++++++
 src/qemu/qemu_domain.h |  4 ++++
 2 files changed, 26 insertions(+)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 95ea63615..0c633af33 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -8412,3 +8412,25 @@ qemuDomainDiskLookupByNodename(virDomainDefPtr def,

     return NULL;
 }
+
+
+/**
+ * qemuDomainDiskBackingStoreGetName:
+ *
+ * Creates a name using the indexed syntax (vda[1])for the given backing store
+ * entry for a disk.
+ */
+char *
+qemuDomainDiskBackingStoreGetName(virDomainDiskDefPtr disk,
+                                  virStorageSourcePtr src ATTRIBUTE_UNUSED,
+                                  unsigned int idx)
+{
+    char *ret = NULL;
+
+    if (idx)
+        ignore_value(virAsprintf(&ret, "%s[%d]", disk->dst, idx));
+    else
+        ignore_value(VIR_STRDUP(ret, disk->dst));
+
+    return ret;
+}
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 15eb72a5c..a07d671a9 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -858,4 +858,8 @@ virDomainDiskDefPtr qemuDomainDiskLookupByNodename(virDomainDefPtr def,
                                                    virStorageSourcePtr *src,
                                                    unsigned int *idx);

+char *qemuDomainDiskBackingStoreGetName(virDomainDiskDefPtr disk,
+                                        virStorageSourcePtr src,
+                                        unsigned int idx);
+
 #endif /* __QEMU_DOMAIN_H__ */
-- 
2.12.0




More information about the libvir-list mailing list