]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: virDomainControllerFind may return 0 if controller found
authorChen Hanxiao <chenhanxiao@cn.fujitsu.com>
Tue, 24 Sep 2013 08:03:15 +0000 (16:03 +0800)
committerJán Tomko <jtomko@redhat.com>
Thu, 26 Sep 2013 13:13:36 +0000 (15:13 +0200)
The return value of virDomainControllerFind >=0 means that
the specific controller was found.
But some functions invoke it and treat 0 as not found.
This patch fix these incorrect invocation.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
src/qemu/qemu_driver.c
src/qemu/qemu_hotplug.c

index 346a8f900d9b7b61c0fe7857a69302673d62a961..ccd9cc645175eb2d1fb8fbb8f43446f32319ce35 100644 (file)
@@ -6626,7 +6626,7 @@ qemuDomainAttachDeviceConfig(virQEMUCapsPtr qemuCaps,
     case VIR_DOMAIN_DEVICE_CONTROLLER:
         controller = dev->data.controller;
         if (virDomainControllerFind(vmdef, controller->type,
-                                    controller->idx) > 0) {
+                                    controller->idx) >= 0) {
             virReportError(VIR_ERR_OPERATION_INVALID, "%s",
                            _("Target already exists"));
             return -1;
index 6cdee4403fe1a09ffb8faefa16f357b1ac46e361..f06930e0248bac1d5e09cd89d9ffa0f85eeffa69 100644 (file)
@@ -358,7 +358,7 @@ int qemuDomainAttachPciControllerDevice(virQEMUDriverPtr driver,
     qemuDomainObjPrivatePtr priv = vm->privateData;
     bool releaseaddr = false;
 
-    if (virDomainControllerFind(vm->def, controller->type, controller->idx) > 0) {
+    if (virDomainControllerFind(vm->def, controller->type, controller->idx) >= 0) {
         virReportError(VIR_ERR_OPERATION_FAILED,
                        _("target %s:%d already exists"),
                        type, controller->idx);