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>
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) {