提交 457b0e74 编写于 作者: J Ján Tomko

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: NJán Tomko <jtomko@redhat.com>
Fixes: f02e21cb
https://bugzilla.redhat.com/show_bug.cgi?id=1800505Reviewed-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
上级 bd622e2a
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册