[libvirt] [PATCH] storage: return -1 when fs pool can't be mounted

Ján Tomko jtomko at redhat.com
Thu Jul 11 10:43:03 UTC 2013


Don't reuse the return value of virStorageBackendFileSystemIsMounted.
If it's 0, we'd return it even if the mount command failed.

Also, don't report another error if it's -1, since one has already
been reported.

Introduced by 258e06c.

https://bugzilla.redhat.com/show_bug.cgi?id=981251
---
 src/storage/storage_backend_fs.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 8b40f55..d305b06 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -355,6 +355,7 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) {
                       pool->def->source.format == VIR_STORAGE_POOL_NETFS_GLUSTERFS);
     virCommandPtr cmd = NULL;
     int ret = -1;
+    int rc;
 
     if (pool->def->type == VIR_STORAGE_POOL_NETFS) {
         if (pool->def->source.nhost != 1) {
@@ -381,10 +382,12 @@ virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) {
     }
 
     /* Short-circuit if already mounted */
-    if ((ret = virStorageBackendFileSystemIsMounted(pool)) != 0) {
-        virReportError(VIR_ERR_OPERATION_INVALID,
-                       _("Target '%s' is already mounted"),
-                       pool->def->target.path);
+    if ((rc = virStorageBackendFileSystemIsMounted(pool)) != 0) {
+        if (rc == 1) {
+            virReportError(VIR_ERR_OPERATION_INVALID,
+                           _("Target '%s' is already mounted"),
+                           pool->def->target.path);
+        }
         return -1;
     }
 
-- 
1.8.1.5




More information about the libvir-list mailing list