mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: preserve error on bandwidth rollback
We call APIs that reset the error in the rollback code.
Preserve the error from the original call that failed.
This turns the boringly cryptic:
error: Unable to set interface parameters
error: An error occurred, but the cause is unknown
to the unexpectedly anarchist:
error: internal error: Child process (/usr/sbin/tc filter add
dev vnet1 parent ffff: protocol all u32 match u32 0 0 police
rate 4294968kbps burst 4294968kb mtu 64kb drop flowid :1)
unexpected exit status 1: Illegal "rate"
Illegal "police"
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: f02e21cb33
https://bugzilla.redhat.com/show_bug.cgi?id=1800505
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
bd622e2a21
commit
457b0e7488
@ -11678,6 +11678,9 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
|
||||
|
||||
if (virNetDevBandwidthSet(net->ifname, newBandwidth, false,
|
||||
!virDomainNetTypeSharesHostView(net)) < 0) {
|
||||
virErrorPtr orig_err;
|
||||
|
||||
virErrorPreserveLast(&orig_err);
|
||||
ignore_value(virNetDevBandwidthSet(net->ifname,
|
||||
net->bandwidth,
|
||||
false,
|
||||
@ -11686,6 +11689,7 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
|
||||
ignore_value(virDomainNetBandwidthUpdate(net,
|
||||
net->bandwidth));
|
||||
}
|
||||
virErrorRestore(&orig_err);
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user