]> git.proxmox.com Git - qemu-server.git/commitdiff
backup: is IOThread comaptible: only check running VMs
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 23 Oct 2019 09:28:47 +0000 (11:28 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 23 Oct 2019 09:28:51 +0000 (11:28 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
PVE/QemuServer.pm
PVE/VZDump/QemuServer.pm

index f7212389395b3e9f7974d38377afa2d33c462f4c..439bc2331006bac27d11254978f3f2290c639e94 100644 (file)
@@ -7206,7 +7206,7 @@ sub version_cmp {
 sub runs_at_least_qemu_version {
     my ($vmid, $major, $minor, $extra) = @_;
 
-    my $v = PVE::QemuServer::vm_qmp_command($vmid, { execute => 'query-version' });
+    my $v = eval { PVE::QemuServer::vm_qmp_command($vmid, { execute => 'query-version' }) } // {};
     $v = $v->{qemu};
 
     return version_cmp($v->{major}, $major, $v->{minor}, $minor, $v->{micro}, $extra) >= 0;
index 955339a21ebf890bc0c8c9ca71e4d39f27776e1d..e02a06985c987ef07b0cb5c74a182b368e2dcf55 100644 (file)
@@ -76,7 +76,7 @@ sub prepare {
        if (defined($drive->{backup}) && !$drive->{backup}) {
            $self->loginfo("exclude disk '$ds' '$volid' (backup=no)");
            return;
-       } elsif ($drive->{iothread}) {
+       } elsif ($self->{vm_was_running} && $drive->{iothread}) {
            if (!PVE::QemuServer::runs_at_least_qemu_version($vmid, 4, 0, 1)) {
                die "disk '$ds' '$volid' (iothread=on) can't use backup feature with running QEMU " .
                    "version < 4.0.1! Either set backup=no for this drive or upgrade QEMU and restart VM\n";