]> xenbits.xensource.com Git - libvirt.git/commitdiff
split out qemuAssignDeviceInputAlias
authorJán Tomko <jtomko@redhat.com>
Wed, 4 Oct 2017 09:09:22 +0000 (11:09 +0200)
committerJán Tomko <jtomko@redhat.com>
Thu, 19 Oct 2017 12:43:20 +0000 (14:43 +0200)
Move assignment of input device alias into a separate function,
for reuse on hotplug.

src/qemu/qemu_alias.c
src/qemu/qemu_alias.h

index 72df1083f2f065d958ed2604e5545e5eff996c94..737fc2fda8f6ec7a9b93962bdc9ce8ad5bb6e3be 100644 (file)
@@ -412,6 +412,28 @@ qemuAssignDeviceWatchdogAlias(virDomainWatchdogDefPtr watchdog)
 
     if (VIR_STRDUP(watchdog->info.alias, "watchdog0") < 0)
         return -1;
+
+    return 0;
+}
+
+int
+qemuAssignDeviceInputAlias(virDomainDefPtr def,
+                           virDomainInputDefPtr input,
+                           int idx)
+{
+    if (idx == -1) {
+        int thisidx;
+        size_t i;
+
+        for (i = 0; i < def->ninputs; i++) {
+            if ((thisidx = qemuDomainDeviceAliasIndex(&def->inputs[i]->info, "input")) >= idx)
+                idx = thisidx + 1;
+        }
+    }
+
+    if (virAsprintf(&input->info.alias, "input%d", idx) < 0)
+        return -1;
+
     return 0;
 }
 
@@ -461,7 +483,7 @@ qemuAssignDeviceAliases(virDomainDefPtr def, virQEMUCapsPtr qemuCaps)
             return -1;
     }
     for (i = 0; i < def->ninputs; i++) {
-        if (virAsprintf(&def->inputs[i]->info.alias, "input%zu", i) < 0)
+        if (qemuAssignDeviceInputAlias(def, def->inputs[i], i) < 0)
             return -1;
     }
     for (i = 0; i < def->nparallels; i++) {
index 652ffea0c31bf93a1ed10303b3bc75ee8a6d2558..11bbc286084c7f0bbd72ebd75d8d5dede7a01685 100644 (file)
@@ -67,6 +67,10 @@ int qemuAssignDeviceShmemAlias(virDomainDefPtr def,
 
 int qemuAssignDeviceWatchdogAlias(virDomainWatchdogDefPtr watchdog);
 
+int qemuAssignDeviceInputAlias(virDomainDefPtr def,
+                               virDomainInputDefPtr input,
+                               int idx);
+
 int qemuAssignDeviceAliases(virDomainDefPtr def, virQEMUCapsPtr qemuCaps);
 
 int qemuDomainDeviceAliasIndex(const virDomainDeviceInfo *info,