]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: disable external snapshot of readonly disk
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Fri, 9 Nov 2018 07:50:47 +0000 (10:50 +0300)
committerNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Tue, 11 Dec 2018 07:58:34 +0000 (10:58 +0300)
Disable external snapshot of a readonly disk for domains as
this operation is not very useful. Such a snapshot is not
possible for active domains but the error message from QEMU
is more cryptic:

     error: internal error: unable to execute QEMU command 'transaction':
                         Could not create file: Permission denied

This error at least makes the error more understandable for
active domains and disallows for inactive domains as well.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
src/qemu/qemu_driver.c

index acba485309802c633b368c5f7f10ef1af43054c5..d0cf2c115a14990f69c48c8756b4d5f47b5cc794 100644 (file)
@@ -14755,6 +14755,13 @@ qemuDomainSnapshotPrepareDiskExternal(virDomainDiskDefPtr disk,
     int ret = -1;
     struct stat st;
 
+    if (disk->src->readonly) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                       _("external snapshot for readonly disk %s "
+                         "is not supported"), disk->dst);
+        return -1;
+    }
+
     if (qemuTranslateSnapshotDiskSourcePool(snapdisk) < 0)
         return -1;