Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
return 0;
}
+sub runs_at_least_qemu_version {
+ my ($vmid, $major, $minor, $extra) = @_;
+
+ my $v = 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;
+}
+
sub qemu_machine_pxe {
my ($vmid, $conf) = @_;
$self->loginfo("exclude disk '$ds' '$volid' (backup=no)");
return;
} elsif ($drive->{iothread}) {
- die "disk '$ds' '$volid' (iothread=on) can't use backup feature currently. Please set backup=no for this drive";
+ 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";
+ }
} else {
my $log = "include disk '$ds' '$volid'";
if (defined $drive->{size}) {