Re: [libvirt PATCH 2/2] qemu: preserve error on bandwidth rollback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2/7/20 8:54 AM, Ján Tomko wrote:
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"

Anarchy In The Libvirt!


Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
Fixes: f02e21cb3379a41cd42f2d8116f2d10dabace83b
https://bugzilla.redhat.com/show_bug.cgi?id=1800505
---

Reviewed-by: Daniel Henrique Barboza <danielhb413@xxxxxxxxx>


  src/qemu/qemu_driver.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 0324c771a5..ad5c7d9ff1 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -11661,6 +11661,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,
@@ -11669,6 +11672,7 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
                  ignore_value(virDomainNetBandwidthUpdate(net,
                                                           net->bandwidth));
              }
+            virErrorRestore(&orig_err);
              goto endjob;
          }






[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux