[libvirt] [PATCH]qemu: virDomainControllerFind may return 0 if controller found

Chen Hanxiao chenhanxiao at cn.fujitsu.com
Tue Sep 24 08:03:15 UTC 2013


From: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>

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 at cn.fujitsu.com>
---
 src/qemu/qemu_driver.c  | 2 +-
 src/qemu/qemu_hotplug.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 346a8f9..ccd9cc6 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -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;
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 6cdee44..f06930e 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -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);
-- 
1.8.2.1




More information about the libvir-list mailing list