From: John Ferlan Date: Fri, 18 Sep 2015 12:18:38 +0000 (-0400) Subject: Revert "qemu: Fix integer/boolean logic in qemuSetUnprivSGIO" X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ec6754db57510173be372e3981ddb6a5cefbcce0;p=libvirt.git Revert "qemu: Fix integer/boolean logic in qemuSetUnprivSGIO" This reverts commit 69b850fe2a19d0c32ae2f209e8d8463df6ead665. This change broke the ability to "clear" or reset unfiltered back to filtered. --- diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 1ce459f09a..658a50e3be 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; - bool val; + int val = -1; int ret = -1; /* "sgio" is only valid for block disk; cdrom @@ -1475,12 +1475,8 @@ qemuSetUnprivSGIO(virDomainDeviceDefPtr dev) * whitelist is enabled. But if requesting unfiltered access, always call * virSetDeviceUnprivSGIO, to report an error for unsupported unpriv_sgio. */ - if (!val || !virFileExists(sysfs_path)) { - ret = 0; - goto cleanup; - } - - if (virSetDeviceUnprivSGIO(path, NULL, 1) < 0) + if ((virFileExists(sysfs_path) || val == 1) && + virSetDeviceUnprivSGIO(path, NULL, val) < 0) goto cleanup; ret = 0;