[libvirt] [PATCH] esx: don't ignore failure on close

Eric Blake eblake at redhat.com
Tue Mar 2 15:21:42 UTC 2010


Another warning caught by coverity.  Continue to perform best-effort
closing and resource release, but warn the caller about the failure.

* src/esx/esx_driver.c (esxClose): Return an error on failure to
close.
---
 src/esx/esx_driver.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index e125a09..45b389f 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -2,6 +2,7 @@
 /*
  * esx_driver.c: core driver methods for managing VMware ESX hosts
  *
+ * Copyright (C) 2010 Red Hat, Inc.
  * Copyright (C) 2009, 2010 Matthias Bolte <matthias.bolte at googlemail.com>
  * Copyright (C) 2009 Maximilian Wilhelm <max at rfc2324.org>
  *
@@ -559,16 +560,19 @@ static int
 esxClose(virConnectPtr conn)
 {
     esxPrivate *priv = conn->privateData;
+    int result = 0;

-    esxVI_EnsureSession(priv->host);
-
-    esxVI_Logout(priv->host);
+    if (esxVI_EnsureSession(priv->host) < 0 ||
+        esxVI_Logout(priv->host) < 0) {
+        result = -1;
+    }
     esxVI_Context_Free(&priv->host);

     if (priv->vCenter != NULL) {
-        esxVI_EnsureSession(priv->vCenter);
-
-        esxVI_Logout(priv->vCenter);
+        if (esxVI_EnsureSession(priv->vCenter) < 0 ||
+            esxVI_Logout(priv->vCenter) < 0) {
+            result = -1;
+        }
         esxVI_Context_Free(&priv->vCenter);
     }

@@ -579,7 +583,7 @@ esxClose(virConnectPtr conn)

     conn->privateData = NULL;

-    return 0;
+    return result;
 }


-- 
1.6.6.1




More information about the libvir-list mailing list