[PATCH 1/2] qemuSecurityChownCallback: Remove 'cleanup' section

Peter Krempa pkrempa at redhat.com
Thu Mar 26 11:18:02 UTC 2020


Treat the shortcut for chowning local files as a stand-alone section
by returning success from it and refactor the rest so that the cleanup
section is inline.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_driver.c | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 570dc059e9..b1f7be50b4 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -268,24 +268,20 @@ qemuSecurityChownCallback(const virStorageSource *src,
         }

         if (chown(src->path, uid, gid) < 0)
-            goto cleanup;
-    } else {
-        if (!(cpy = virStorageSourceCopy(src, false)))
-            goto cleanup;
-
-        /* src file init reports errors, return -2 on failure */
-        if (virStorageFileInit(cpy) < 0) {
-            ret = -2;
-            goto cleanup;
-        }
+            return -1;

-        if (virStorageFileChown(cpy, uid, gid) < 0)
-            goto cleanup;
+        return 0;
     }

-    ret = 0;
+    if (!(cpy = virStorageSourceCopy(src, false)))
+        return -1;
+
+    /* src file init reports errors, return -2 on failure */
+    if (virStorageFileInit(cpy) < 0)
+        return -2;
+
+    ret = virStorageFileChown(cpy, uid, gid);

- cleanup:
     save_errno = errno;
     virStorageFileDeinit(cpy);
     errno = save_errno;
-- 
2.24.1




More information about the libvir-list mailing list