]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuSnapshotPrepareDiskExternal: Reject creation of block devices sooner
authorPeter Krempa <pkrempa@redhat.com>
Wed, 16 Jun 2021 12:57:06 +0000 (14:57 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 18 Jun 2021 07:16:16 +0000 (09:16 +0200)
In case when the snapshot target is of VIR_STORAGE_TYPE_BLOCK type and
doesn't exist libvirt won't be able to create it. Reject such a config
sooner.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_snapshot.c

index 81085bf4bdc88cd650b5fb070e1b4f2c746e4129..f06d0ada38b4883892c72755560bfc8afdc759a5 100644 (file)
@@ -589,6 +589,13 @@ qemuSnapshotPrepareDiskExternal(virDomainObj *vm,
                                      _("missing existing file for disk %s: %s"),
                                      snapdisk->name, snapdisk->src->path);
                 return -1;
+            } else {
+                if (snapdisk->src->type == VIR_STORAGE_TYPE_BLOCK) {
+                    virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
+                                   _("block device snapshot target '%s' doesn't exist"),
+                                   snapdisk->src->path);
+                    return -1;
+                }
             }
         } else {
             if (!S_ISBLK(st.st_mode) && st.st_size && !reuse) {