提交 7f602b82 编写于 作者: P Pavel Hrdina

qemu_driver: move iothread duplicate check into one place

Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
上级 99f00fb8
...@@ -20212,13 +20212,6 @@ virDomainIOThreadIDAdd(virDomainDefPtr def, ...@@ -20212,13 +20212,6 @@ virDomainIOThreadIDAdd(virDomainDefPtr def,
{ {
virDomainIOThreadIDDefPtr iothrid = NULL; 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) if (VIR_ALLOC(iothrid) < 0)
goto error; goto error;
......
...@@ -5584,13 +5584,6 @@ qemuDomainHotplugAddIOThread(virQEMUDriverPtr driver, ...@@ -5584,13 +5584,6 @@ qemuDomainHotplugAddIOThread(virQEMUDriverPtr driver,
qemuMonitorIOThreadInfoPtr *new_iothreads = NULL; qemuMonitorIOThreadInfoPtr *new_iothreads = NULL;
virDomainIOThreadIDDefPtr iothrid; 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) if (virAsprintf(&alias, "iothread%u", iothread_id) < 0)
return -1; return -1;
...@@ -5726,6 +5719,22 @@ qemuDomainHotplugDelIOThread(virQEMUDriverPtr driver, ...@@ -5726,6 +5719,22 @@ qemuDomainHotplugDelIOThread(virQEMUDriverPtr driver,
goto cleanup; 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 static int
qemuDomainDelIOThreadCheck(virDomainDefPtr def, qemuDomainDelIOThreadCheck(virDomainDefPtr def,
unsigned int iothread_id) unsigned int iothread_id)
...@@ -5793,6 +5802,9 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver, ...@@ -5793,6 +5802,9 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver,
} }
if (add) { if (add) {
if (qemuDomainAddIOThreadCheck(def, iothread_id) < 0)
goto endjob;
if (qemuDomainHotplugAddIOThread(driver, vm, iothread_id) < 0) if (qemuDomainHotplugAddIOThread(driver, vm, iothread_id) < 0)
goto endjob; goto endjob;
} else { } else {
...@@ -5809,6 +5821,9 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver, ...@@ -5809,6 +5821,9 @@ qemuDomainChgIOThread(virQEMUDriverPtr driver,
if (persistentDef) { if (persistentDef) {
if (add) { if (add) {
if (qemuDomainAddIOThreadCheck(persistentDef, iothread_id) < 0)
goto endjob;
if (!virDomainIOThreadIDAdd(persistentDef, iothread_id)) if (!virDomainIOThreadIDAdd(persistentDef, iothread_id))
goto endjob; goto endjob;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册