1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

qemu: Don't fail if physical size can't be updated in qemuDomainGetBlockInfo

Since commit c5f6151390 qemuDomainBlockInfo tries to update the
"physical" storage size for all network storage and not only block
devices.

Since the storage driver APIs to do this are not implemented for certain
storage types (RBD, iSCSI, ...) the code would fail to retrieve any data
since the failure of qemuDomainStorageUpdatePhysical is fatal.

Since it's desired to return data even if the total size can't be
updated we need to ignore errors from that function and return plausible
data.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1442344
This commit is contained in:
Peter Krempa 2017-04-20 11:16:42 +02:00
parent 44f8e00b6b
commit 9f16bb7386

View File

@ -11567,10 +11567,12 @@ qemuDomainGetBlockInfo(virDomainPtr dom,
if (info->allocation == 0)
info->allocation = entry->physical;
if (qemuDomainStorageUpdatePhysical(driver, cfg, vm, disk->src) < 0)
goto endjob;
info->physical = disk->src->physical;
if (qemuDomainStorageUpdatePhysical(driver, cfg, vm, disk->src) == 0) {
info->physical = disk->src->physical;
} else {
virResetLastError();
info->physical = entry->physical;
}
} else {
info->physical = entry->physical;
}