[PATCH 2/2] network: replace virSaveLastError() with virErrorPreserveLast()

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

 



virErrorPreserveLast()/virErrorRestore() (added in commit 8333e7455
back in 2017), do a better better job of saving and restoring the last
libvirt error than virSaveLastError()/virErrorRestore() (they're
simpler, and they also save/restore the system errno).

Signed-off-by: Laine Stump <laine@xxxxxxxxxx>
---
 src/network/bridge_driver.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index dae1def8de..9059296e55 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2987,13 +2987,12 @@ networkStartNetwork(virNetworkDriverStatePtr driver,
 
  cleanup:
     if (ret < 0) {
+        virErrorPtr save_err;
+
+        virErrorPreserveLast(&save_err);
         virNetworkObjUnsetDefTransient(obj);
-        virErrorPtr save_err = virSaveLastError();
-        int save_errno = errno;
         networkShutdownNetwork(driver, obj);
-        virSetError(save_err);
-        virFreeError(save_err);
-        errno = save_errno;
+        virErrorRestore(&save_err);
     }
     return ret;
 }
@@ -5596,13 +5595,13 @@ networkPortCreateXML(virNetworkPtr net,
         goto cleanup;
 
     if (virNetworkObjAddPort(obj, portdef, driver->stateDir) < 0) {
-        virErrorPtr saved;
+        virErrorPtr save_err;
 
-        saved = virSaveLastError();
+        virErrorPreserveLast(&save_err);
         ignore_value(networkReleasePort(obj, portdef));
         virNetworkPortDefFree(portdef);
-        virSetError(saved);
-        virFreeError(saved);
+        virErrorRestore(&save_err);
+
         goto cleanup;
     }
 
-- 
2.21.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[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