[libvirt] [PATCH 01/13] Move and rename qemuDomainAssignVirtioSerialAddresses

Tomasz Flendrich t.flendrich at gmail.com
Wed Jul 20 00:07:15 UTC 2016


qemuDomainAssignVirtioSerialAddresses is renamed to
virDomainAssignVirtioSerialAddresses and moved from
qemu_domain_address.c to domain_addr.c

All these functions are being moved because they don't depend on
qemu, so they have the potential to be reused for more hypervisors.
---
 src/conf/domain_addr.c         | 38 ++++++++++++++++++++++++++++++++++++++
 src/conf/domain_addr.h         |  4 ++++
 src/libvirt_private.syms       |  1 +
 src/qemu/qemu_domain_address.c | 40 +---------------------------------------
 4 files changed, 44 insertions(+), 39 deletions(-)

diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c
index 67c12a4..4b7fead 100644
--- a/src/conf/domain_addr.c
+++ b/src/conf/domain_addr.c
@@ -1190,3 +1190,41 @@ virDomainVirtioSerialAddrReserve(virDomainDefPtr def ATTRIBUTE_UNUSED,
     VIR_FREE(str);
     return ret;
 }
+
+
+int
+virDomainAssignVirtioSerialAddresses(virDomainDefPtr def)
+{
+    int ret = -1;
+    size_t i;
+    virDomainVirtioSerialAddrSetPtr addrs = NULL;
+
+    if (!(addrs = virDomainVirtioSerialAddrSetCreateFromDomain(def)))
+        goto cleanup;
+
+    VIR_DEBUG("Finished reserving existing ports");
+
+    for (i = 0; i < def->nconsoles; i++) {
+        virDomainChrDefPtr chr = def->consoles[i];
+        if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
+            chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO &&
+            !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
+            virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, true) < 0)
+            goto cleanup;
+    }
+
+    for (i = 0; i < def->nchannels; i++) {
+        virDomainChrDefPtr chr = def->channels[i];
+        if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
+            chr->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO &&
+            !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
+            virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, false) < 0)
+            goto cleanup;
+    }
+
+    ret = 0;
+
+ cleanup:
+    virDomainVirtioSerialAddrSetFree(addrs);
+    return ret;
+}
diff --git a/src/conf/domain_addr.h b/src/conf/domain_addr.h
index a060683..74ae3ab 100644
--- a/src/conf/domain_addr.h
+++ b/src/conf/domain_addr.h
@@ -228,4 +228,8 @@ virDomainVirtioSerialAddrReserve(virDomainDefPtr def,
                                  void *data)
     ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4);
 
+int
+virDomainAssignVirtioSerialAddresses(virDomainDefPtr def)
+    ATTRIBUTE_NONNULL(1);
+
 #endif /* __DOMAIN_ADDR_H__ */
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index bdf8304..e1bfce9 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -85,6 +85,7 @@ virPCIDeviceAddressParseXML;
 
 
 # conf/domain_addr.h
+virDomainAssignVirtioSerialAddresses;
 virDomainCCWAddressAllocate;
 virDomainCCWAddressAssign;
 virDomainCCWAddressSetCreate;
diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c
index df36349..c0a96ba 100644
--- a/src/qemu/qemu_domain_address.c
+++ b/src/qemu/qemu_domain_address.c
@@ -106,44 +106,6 @@ qemuDomainSetSCSIControllerModel(const virDomainDef *def,
 
 
 static int
-qemuDomainAssignVirtioSerialAddresses(virDomainDefPtr def)
-{
-    int ret = -1;
-    size_t i;
-    virDomainVirtioSerialAddrSetPtr addrs = NULL;
-
-    if (!(addrs = virDomainVirtioSerialAddrSetCreateFromDomain(def)))
-        goto cleanup;
-
-    VIR_DEBUG("Finished reserving existing ports");
-
-    for (i = 0; i < def->nconsoles; i++) {
-        virDomainChrDefPtr chr = def->consoles[i];
-        if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
-            chr->targetType == VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO &&
-            !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
-            virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, true) < 0)
-            goto cleanup;
-    }
-
-    for (i = 0; i < def->nchannels; i++) {
-        virDomainChrDefPtr chr = def->channels[i];
-        if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
-            chr->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO &&
-            !virDomainVirtioSerialAddrIsComplete(&chr->info) &&
-            virDomainVirtioSerialAddrAutoAssign(def, addrs, &chr->info, false) < 0)
-            goto cleanup;
-    }
-
-    ret = 0;
-
- cleanup:
-    virDomainVirtioSerialAddrSetFree(addrs);
-    return ret;
-}
-
-
-static int
 qemuDomainSpaprVIOFindByReg(virDomainDefPtr def ATTRIBUTE_UNUSED,
                             virDomainDeviceDefPtr device ATTRIBUTE_UNUSED,
                             virDomainDeviceInfoPtr info, void *opaque)
@@ -1638,7 +1600,7 @@ qemuDomainAssignAddresses(virDomainDefPtr def,
                           virDomainObjPtr obj ATTRIBUTE_UNUSED,
                           bool newDomain ATTRIBUTE_UNUSED)
 {
-    if (qemuDomainAssignVirtioSerialAddresses(def) < 0)
+    if (virDomainAssignVirtioSerialAddresses(def) < 0)
         return -1;
 
     if (qemuDomainAssignSpaprVIOAddresses(def, qemuCaps) < 0)
-- 
2.7.4 (Apple Git-66)




More information about the libvir-list mailing list