]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Refactor/simplify qemuDomainStorageSourceAccessAllow
authorPeter Krempa <pkrempa@redhat.com>
Thu, 18 Apr 2019 14:20:35 +0000 (16:20 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 9 May 2019 13:55:36 +0000 (15:55 +0200)
Use qemuDomainStorageSourceAccessModify with correct flags to do the
job.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_domain.c

index 93a301973489e6691dc8cbb3e1f40ffca3c18cfe..6e5a7e2f89c95576fd1da6880898473f00500706 100644 (file)
@@ -9399,33 +9399,15 @@ qemuDomainStorageSourceAccessAllow(virQEMUDriverPtr driver,
                                    bool readonly,
                                    bool newSource)
 {
-    bool was_readonly = elem->readonly;
-    virQEMUDriverConfigPtr cfg = NULL;
-    int ret = -1;
-
-    cfg = virQEMUDriverGetConfig(driver);
-
-    elem->readonly = readonly;
-
-    if (virDomainLockImageAttach(driver->lockManager, cfg->uri, vm, elem) < 0)
-        goto cleanup;
-
-    if (newSource &&
-        qemuDomainNamespaceSetupDisk(vm, elem) < 0)
-        goto cleanup;
-
-    if (qemuSetupImageCgroup(vm, elem) < 0)
-        goto cleanup;
+    qemuDomainStorageSourceAccessFlags flags = QEMU_DOMAIN_STORAGE_SOURCE_ACCESS_SKIP_REVOKE;
 
-    if (qemuSecuritySetImageLabel(driver, vm, elem, false) < 0)
-        goto cleanup;
+    if (readonly)
+        flags &= QEMU_DOMAIN_STORAGE_SOURCE_ACCESS_READ_ONLY;
 
-    ret = 0;
+    if (!newSource)
+        flags &= QEMU_DOMAIN_STORAGE_SOURCE_ACCESS_MODIFY_ACCESS;
 
- cleanup:
-    elem->readonly = was_readonly;
-    virObjectUnref(cfg);
-    return ret;
+    return qemuDomainStorageSourceAccessModify(driver, vm, elem, flags);
 }