qemu: Refactor/simplify qemuDomainStorageSourceAccessAllow

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>
This commit is contained in:
Peter Krempa 2019-04-18 16:20:35 +02:00
parent b1fe51c4ba
commit 76b9aba2ba

View File

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