1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

qemu_driver: move iothread duplicate check into one place

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Pavel Hrdina 2017-02-13 15:34:16 +01:00
parent 99f00fb8bc
commit 7f602b8291
2 changed files with 22 additions and 14 deletions

View File

@ -20212,13 +20212,6 @@ virDomainIOThreadIDAdd(virDomainDefPtr def,
{
virDomainIOThreadIDDefPtr iothrid = NULL;
if (virDomainIOThreadIDFind(def, iothread_id)) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("cannot duplicate iothread_id '%u' in iothreadids"),
iothread_id);
return NULL;
}
if (VIR_ALLOC(iothrid) < 0)
goto error;

View File

@ -5584,13 +5584,6 @@ qemuDomainHotplugAddIOThread(virQEMUDriverPtr driver,
qemuMonitorIOThreadInfoPtr *new_iothreads = NULL;
virDomainIOThreadIDDefPtr iothrid;
if (virDomainIOThreadIDFind(vm->def, iothread_id)) {
virReportError(VIR_ERR_INVALID_ARG,
_("an IOThread is already using iothread_id '%u'"),
iothread_id);
goto cleanup;
}
if (virAsprintf(&alias, "iothread%u", iothread_id) < 0)
return -1;
@ -5726,6 +5719,22 @@ qemuDomainHotplugDelIOThread(virQEMUDriverPtr driver,
goto cleanup;
}
static int
qemuDomainAddIOThreadCheck(virDomainDefPtr def,
unsigned int iothread_id)
{
if (virDomainIOThreadIDFind(def, iothread_id)) {
virReportError(VIR_ERR_INVALID_ARG,
_("an IOThread is already using iothread_id '%u'"),
iothread_id);
return -1;
}
return 0;
}
static int
qemuDomainDelIOThreadCheck(virDomainDefPtr def,
unsigned int iothread_id)
@ -5793,6 +5802,9 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver,
}
if (add) {
if (qemuDomainAddIOThreadCheck(def, iothread_id) < 0)
goto endjob;
if (qemuDomainHotplugAddIOThread(driver, vm, iothread_id) < 0)
goto endjob;
} else {
@ -5809,6 +5821,9 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver,
if (persistentDef) {
if (add) {
if (qemuDomainAddIOThreadCheck(persistentDef, iothread_id) < 0)
goto endjob;
if (!virDomainIOThreadIDAdd(persistentDef, iothread_id))
goto endjob;