From: Peter Krempa Date: Thu, 18 Apr 2019 14:20:35 +0000 (+0200) Subject: qemu: Refactor/simplify qemuDomainStorageSourceAccessAllow X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=76b9aba2ba6dd90df4b7e36c99c1cf82824f8bb6;p=libvirt.git qemu: Refactor/simplify qemuDomainStorageSourceAccessAllow Use qemuDomainStorageSourceAccessModify with correct flags to do the job. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 93a3019734..6e5a7e2f89 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -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); }