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

qemu: Restore old bandwidth rules when setting new fails

https://bugzilla.redhat.com/show_bug.cgi?id=1177723

When setting new bandwidth limits via
virDomainSetInterfaceParameters, the old ones are cleared first.
However, if setting the new ones fails, the old are already gone
and interface is left in inconsistent state.  Therefore, right
before failing we ought to try to restore the old bandwidth.

Signed-off-by: Luyao Huang <lhuang@redhat.com>
This commit is contained in:
Luyao Huang 2014-12-31 09:34:39 +08:00 committed by Michal Privoznik
parent a791599cc6
commit 565d049fd1

View File

@ -10510,8 +10510,12 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
sizeof(*newBandwidth->out));
}
if (virNetDevBandwidthSet(net->ifname, newBandwidth, false) < 0)
if (virNetDevBandwidthSet(net->ifname, newBandwidth, false) < 0) {
ignore_value(virNetDevBandwidthSet(net->ifname,
net->bandwidth,
false));
goto endjob;
}
virNetDevBandwidthFree(net->bandwidth);
if (newBandwidth->in || newBandwidth->out) {