[libvirt] [PATCH 0/2] Fixes for CI virt-manager test failures

Test began failing after commit 'd06d1a32' and 'be3c2dfd': https://ci.centos.org/view/libvirt/job/virt-manager-master-check/systems=lib... Needed to fix the aclfilter check in both NumOfDevices and GetNames John Ferlan (2): conf: Fix virNodeDeviceObjGetNames nnames increment nodedev: Fix aclfilter check src/conf/virnodedeviceobj.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -- 2.9.3

To be safer, only increment nnames after the VIR_STRDUP is successful. Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/conf/virnodedeviceobj.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/conf/virnodedeviceobj.c b/src/conf/virnodedeviceobj.c index 53df1b8..75ba1a0 100644 --- a/src/conf/virnodedeviceobj.c +++ b/src/conf/virnodedeviceobj.c @@ -512,10 +512,11 @@ virNodeDeviceObjGetNames(virNodeDeviceObjListPtr devs, virNodeDeviceObjLock(obj); if (aclfilter && aclfilter(conn, obj->def) && (!cap || virNodeDeviceObjHasCap(obj, cap))) { - if (VIR_STRDUP(names[nnames++], obj->def->name) < 0) { + if (VIR_STRDUP(names[nnames], obj->def->name) < 0) { virNodeDeviceObjUnlock(obj); goto failure; } + nnames++; } virNodeDeviceObjUnlock(obj); } -- 2.9.3

For both virNodeDeviceObjNumOfDevices and virNodeDeviceObjGetNames, the check should be if the aclfilter doesn't exist or if it does exist, then it must pass Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/conf/virnodedeviceobj.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/conf/virnodedeviceobj.c b/src/conf/virnodedeviceobj.c index 75ba1a0..4f47b4e 100644 --- a/src/conf/virnodedeviceobj.c +++ b/src/conf/virnodedeviceobj.c @@ -486,7 +486,7 @@ virNodeDeviceObjNumOfDevices(virNodeDeviceObjListPtr devs, for (i = 0; i < devs->count; i++) { virNodeDeviceObjPtr obj = devs->objs[i]; virNodeDeviceObjLock(obj); - if (aclfilter && aclfilter(conn, obj->def) && + if ((!aclfilter || aclfilter(conn, obj->def)) && (!cap || virNodeDeviceObjHasCap(obj, cap))) ++ndevs; virNodeDeviceObjUnlock(obj); @@ -510,7 +510,7 @@ virNodeDeviceObjGetNames(virNodeDeviceObjListPtr devs, for (i = 0; i < devs->count && nnames < maxnames; i++) { virNodeDeviceObjPtr obj = devs->objs[i]; virNodeDeviceObjLock(obj); - if (aclfilter && aclfilter(conn, obj->def) && + if ((!aclfilter || aclfilter(conn, obj->def)) && (!cap || virNodeDeviceObjHasCap(obj, cap))) { if (VIR_STRDUP(names[nnames], obj->def->name) < 0) { virNodeDeviceObjUnlock(obj); -- 2.9.3

On 04/10/2017 07:56 PM, John Ferlan wrote:
Test began failing after commit 'd06d1a32' and 'be3c2dfd':
https://ci.centos.org/view/libvirt/job/virt-manager-master-check/systems=lib...
Needed to fix the aclfilter check in both NumOfDevices and GetNames
John Ferlan (2): conf: Fix virNodeDeviceObjGetNames nnames increment nodedev: Fix aclfilter check
src/conf/virnodedeviceobj.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
ACK Michal

On 04/10/2017 01:56 PM, John Ferlan wrote:
Test began failing after commit 'd06d1a32' and 'be3c2dfd':
https://ci.centos.org/view/libvirt/job/virt-manager-master-check/systems=lib...
Needed to fix the aclfilter check in both NumOfDevices and GetNames
John Ferlan (2): conf: Fix virNodeDeviceObjGetNames nnames increment nodedev: Fix aclfilter check
src/conf/virnodedeviceobj.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
ACK. Thanks, Yash
participants (3)
-
John Ferlan
-
Michal Privoznik
-
Yash Mankad