Am 01/02/2023 um 13:59 schrieb Christoph Heiss:
> Signed-off-by: Christoph Heiss <[email protected]>
> ---
> PVE/QemuServer.pm | 8 +++++++-
> PVE/VZDump/QemuServer.pm | 5 +++++
> 2 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index e4d1a70..e409db1 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -160,7 +160,13 @@ my $agent_fmt = {
> description => "Run fstrim after moving a disk or migrating the VM.",
> type => 'boolean',
> optional => 1,
> - default => 0
> + default => 0,
> + },
> + fsfreeze_thaw => {
Please rename this to:
'freeze-fs-on-backup'
> + description => "Freeze/thaw filesystems on backup for consistency.",
detail/nit: s/filesystems/guest filesystem/
> + type => 'boolean',
> + optional => 1,
> + default => 1,
> },
> type => {
> description => "Select the agent type",
> diff --git a/PVE/VZDump/QemuServer.pm b/PVE/VZDump/QemuServer.pm
> index 0eb5ec6..5ff46f7 100644
> --- a/PVE/VZDump/QemuServer.pm
> +++ b/PVE/VZDump/QemuServer.pm
> @@ -862,6 +862,11 @@ sub qga_fs_freeze {
> return;
> }
>
> + if (!PVE::QemuServer::get_qga_key($self->{vmlist}->{$vmid},
> 'fsfreeze_thaw')) {
this is wrong as get_qga_key which uses parse_guest_agent which uses
parse_property_string
doesn't sets the default from the schema on parse, so you'd also skip if it's
not defined
(please negative test changes too)
Rather do something like:
my $freeze = PVE::QemuServer::get_qga_key($self->{vmlist}->{$vmid},
'freeze-fs-on-backup') // 1;
if (!$freeze) {
# ...
> + $self->loginfo("skipping guest-agent 'fs-freeze', disabled in VM
> options");
> + return;
> + }
> +
> $self->loginfo("issuing guest-agent 'fs-freeze' command");
> eval { mon_cmd($vmid, "guest-fsfreeze-freeze") };
> $self->logerr($@) if $@;
_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel