'qemuBuildThrottleFiltersAttachPrepareBlockdev' can fail when
constructing JSON props, but otherwise always retruns a pointer even if
there's nothing to do.
The code in 'qemuDomainAttachDiskGeneric' didn't handle this properly as
it considered NULL as "nothing to do". Return the failure instead and
check if tere's something to do by looking at 'nfilterdata'
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
if (rc < 0)
goto rollback;
- if ((filterData = qemuBuildThrottleFiltersAttachPrepareBlockdev(disk))) {
+ if (!(filterData = qemuBuildThrottleFiltersAttachPrepareBlockdev(disk)))
+ return -1;
+
+ if (filterData->nfilterdata > 0) {
if (qemuDomainObjEnterMonitorAsync(vm, asyncJob) < 0)
return -1;
+
rc = qemuBlockThrottleFiltersAttach(priv->mon, filterData);
+
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto rollback;