If 'query-proxmox-support' is not known to QEMU, assume that no other
features are supported either.
If 'pbs' is not supported at all, error out with a nice message.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
die "interrupted by signal\n";
};
die "interrupted by signal\n";
};
+ my $qemu_support = eval { mon_cmd($vmid, "query-proxmox-support") };
+ if (!$qemu_support) {
+ die "PBS backups are not supported by the running QEMU version. Please make "
+ . "sure you've installed the latest version and the VM has been restarted.\n";
+ }
+
my $fs_frozen = $self->qga_fs_freeze($task, $vmid);
my $params = {
my $fs_frozen = $self->qga_fs_freeze($task, $vmid);
my $params = {
password => $password,
devlist => $devlist,
'config-file' => $conffile,
password => $password,
devlist => $devlist,
'config-file' => $conffile,
- 'use-dirty-bitmap' => JSON::true,
};
$params->{fingerprint} = $fingerprint if defined($fingerprint);
$params->{'firewall-file'} = $firewall if -e $firewall;
};
$params->{fingerprint} = $fingerprint if defined($fingerprint);
$params->{'firewall-file'} = $firewall if -e $firewall;
+ $params->{'use-dirty-bitmap'} = JSON::true if $qemu_support->{'pbs-dirty-bitmap'};
+
$params->{timeout} = 60; # give some time to connect to the backup server
my $res = eval { mon_cmd($vmid, "backup", %$params) };
$params->{timeout} = 60; # give some time to connect to the backup server
my $res = eval { mon_cmd($vmid, "backup", %$params) };