From: Peter Krempa Date: Thu, 18 Apr 2019 14:10:52 +0000 (+0200) Subject: qemu: Allow skipping the revoke step in qemuDomainStorageSourceAccessModify X-Git-Tag: v5.4.0-rc1~103 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f50d1b7f498016c328b3007384404c31aa5d5764;p=thirdparty%2Flibvirt.git qemu: Allow skipping the revoke step in qemuDomainStorageSourceAccessModify In some cases when we need to modify access permissions for a storage source which is already used by the VM we should not revoke all permissions on a failure. Allow this in qemuDomainStorageSourceAccessModify by adding a new flag. 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 46b028f102..4b036c7dc2 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9218,6 +9218,8 @@ typedef enum { QEMU_DOMAIN_STORAGE_SOURCE_ACCESS_CHAIN = 1 << 1, /* force permissions to read-only when allowing */ QEMU_DOMAIN_STORAGE_SOURCE_ACCESS_READ_ONLY = 1 << 2, + /* don't revoke permissions when modification has failed */ + QEMU_DOMAIN_STORAGE_SOURCE_ACCESS_SKIP_REVOKE = 1 << 3, } qemuDomainStorageSourceAccessFlags; @@ -9294,6 +9296,9 @@ qemuDomainStorageSourceAccessModify(virQEMUDriverPtr driver, goto cleanup; revoke: + if (flags & QEMU_DOMAIN_STORAGE_SOURCE_ACCESS_SKIP_REVOKE) + goto cleanup; + if (revoke_cgroup) { if (chain) rc = qemuTeardownImageChainCgroup(vm, src);