From d059b24aea78934f920c86a54cd8813ef4ca4935 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A1n=20Tomko?= Date: Wed, 4 Oct 2017 11:09:22 +0200 Subject: [PATCH] split out qemuAssignDeviceInputAlias Move assignment of input device alias into a separate function, for reuse on hotplug. --- src/qemu/qemu_alias.c | 24 +++++++++++++++++++++++- src/qemu/qemu_alias.h | 4 ++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c index 72df1083f2..737fc2fda8 100644 --- a/src/qemu/qemu_alias.c +++ b/src/qemu/qemu_alias.c @@ -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++) { diff --git a/src/qemu/qemu_alias.h b/src/qemu/qemu_alias.h index 652ffea0c3..11bbc28608 100644 --- a/src/qemu/qemu_alias.h +++ b/src/qemu/qemu_alias.h @@ -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, -- 2.47.2