[libvirt] [PATCH v3 4/4] qemu: Fix integer/boolean logic in qemuSetUnprivSGIO

John Ferlan jferlan at redhat.com
Wed Jul 8 19:30:28 UTC 2015


Setting of 'val' is a boolean expression, so handle it that way and
adjust the check/return logic to be clearer

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/qemu/qemu_conf.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index ddaf7f8..2ab5494 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1433,7 +1433,7 @@ qemuSetUnprivSGIO(virDomainDeviceDefPtr dev)
     virDomainHostdevDefPtr hostdev = NULL;
     char *sysfs_path = NULL;
     const char *path = NULL;
-    int val = -1;
+    bool val;
     int ret = -1;
 
     /* "sgio" is only valid for block disk; cdrom
@@ -1475,8 +1475,12 @@ qemuSetUnprivSGIO(virDomainDeviceDefPtr dev)
      * whitelist is enabled.  But if requesting unfiltered access, always call
      * virSetDeviceUnprivSGIO, to report an error for unsupported unpriv_sgio.
      */
-    if ((virFileExists(sysfs_path) || val == 1) &&
-        virSetDeviceUnprivSGIO(path, NULL, val) < 0)
+    if (!val || !virFileExists(sysfs_path)) {
+        ret = 0;
+        goto cleanup;
+    }
+
+    if (virSetDeviceUnprivSGIO(path, NULL, 1) < 0)
         goto cleanup;
 
     ret = 0;
-- 
2.1.0




More information about the libvir-list mailing list