]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Allow skipping the revoke step in qemuDomainStorageSourceAccessModify
authorPeter Krempa <pkrempa@redhat.com>
Thu, 18 Apr 2019 14:10:52 +0000 (16:10 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 9 May 2019 13:55:36 +0000 (15:55 +0200)
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 <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_domain.c

index 46b028f1026437e71ba3dd0090eaf3a2d4264f1f..4b036c7dc22b91b410fe3dba0350275c1c2df090 100644 (file)
@@ -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);