From: Fabian Grünbichler Date: Mon, 22 Feb 2016 12:08:57 +0000 (+0100) Subject: Adjust snapshot_create and snapshot_prepare signatures X-Git-Url: https://git.proxmox.com/?p=pve-container.git;a=commitdiff_plain;h=0bfffef4c9285901ed53eba76c2e23c4dfa06d6e Adjust snapshot_create and snapshot_prepare signatures Add new save_vmstate parameter to snapshot_create and snapshot_prepare, like in QemuServer.pm Also make snapshot_prepare and snapshot_commit proper subs. --- diff --git a/src/PVE/API2/LXC/Snapshot.pm b/src/PVE/API2/LXC/Snapshot.pm index 49fd4f5..4da2d87 100644 --- a/src/PVE/API2/LXC/Snapshot.pm +++ b/src/PVE/API2/LXC/Snapshot.pm @@ -128,7 +128,7 @@ __PACKAGE__->register_method({ my $realcmd = sub { PVE::Cluster::log_msg('info', $authuser, "snapshot container $vmid: $snapname"); - PVE::LXC::snapshot_create($vmid, $snapname, $param->{description}); + PVE::LXC::snapshot_create($vmid, $snapname, 0, $param->{description}); }; return $rpcenv->fork_worker('pctsnapshot', $vmid, $authuser, $realcmd); diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index a1fb746..2aaa6a7 100644 --- a/src/PVE/LXC.pm +++ b/src/PVE/LXC.pm @@ -1748,8 +1748,8 @@ my $snapshot_copy_config = sub { } }; -my $snapshot_prepare = sub { - my ($vmid, $snapname, $comment) = @_; +sub snapshot_prepare { + my ($vmid, $snapname, $save_vmstate, $comment) = @_; my $snap; @@ -1786,9 +1786,9 @@ my $snapshot_prepare = sub { lock_config($vmid, $updatefn); return $snap; -}; +} -my $snapshot_commit = sub { +sub snapshot_commit { my ($vmid, $snapname) = @_; my $updatefn = sub { @@ -1812,8 +1812,8 @@ my $snapshot_commit = sub { write_config($vmid, $conf); }; - lock_config($vmid ,$updatefn); -}; + lock_config($vmid, $updatefn); +} sub has_feature { my ($feature, $conf, $storecfg, $snapname) = @_; @@ -1908,9 +1908,9 @@ sub sync_container_namespace { } sub snapshot_create { - my ($vmid, $snapname, $comment) = @_; + my ($vmid, $snapname, $save_vmstate, $comment) = @_; - my $snap = &$snapshot_prepare($vmid, $snapname, $comment); + my $snap = snapshot_prepare($vmid, $snapname, $save_vmstate, $comment); my $conf = load_config($vmid); @@ -1947,7 +1947,7 @@ sub snapshot_create { die "$err\n"; } - &$snapshot_commit($vmid, $snapname); + snapshot_commit($vmid, $snapname); } # Note: $drivehash is only set when called from snapshot_create. diff --git a/src/PVE/VZDump/LXC.pm b/src/PVE/VZDump/LXC.pm index 0979f15..1d24036 100644 --- a/src/PVE/VZDump/LXC.pm +++ b/src/PVE/VZDump/LXC.pm @@ -211,7 +211,7 @@ sub snapshot { $self->loginfo("create storage snapshot 'vzdump'"); # todo: freeze/unfreeze if we have more than one volid - PVE::LXC::snapshot_create($vmid, 'vzdump', "vzdump backup snapshot"); + PVE::LXC::snapshot_create($vmid, 'vzdump', 0, "vzdump backup snapshot"); $task->{cleanup}->{remove_snapshot} = 1; # reload config