]> git.proxmox.com Git - qemu-server.git/commitdiff
Fix in PVE::QemuServer::snapshot_create
authorWolfgang Link <wolfgang@linksystems.org>
Wed, 3 Dec 2014 14:40:33 +0000 (15:40 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 4 Dec 2014 11:30:35 +0000 (12:30 +0100)
remove the freezefs flag.
If Qemu Guest Agent flag is set in config the vm filesystem will always be frozen,
unless we save RAM.

also remove param freezefs in PVE::API2 snapshot,
because there is no use for it.

Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
PVE/API2/Qemu.pm
PVE/QemuServer.pm

index 0787074d800404ffcfd903fee1e1d3b5ce854635..066726dc1ae8b36e986563af5dfcdabd33773ac8 100644 (file)
@@ -2853,11 +2853,6 @@ __PACKAGE__->register_method({
                type => 'boolean',
                description => "Save the vmstate",
            },
-           freezefs => {
-               optional => 1,
-               type => 'boolean',
-               description => "Freeze the filesystem",
-           },
            description => {
                optional => 1,
                type => 'string',
@@ -2887,8 +2882,8 @@ __PACKAGE__->register_method({
 
        my $realcmd = sub {
            PVE::Cluster::log_msg('info', $authuser, "snapshot VM $vmid: $snapname");
-           PVE::QemuServer::snapshot_create($vmid, $snapname, $param->{vmstate},
-                                            $param->{freezefs}, $param->{description});
+           PVE::QemuServer::snapshot_create($vmid, $snapname, $param->{vmstate}, 
+                                            $param->{description});
        };
 
        return $rpcenv->fork_worker('qmsnapshot', $vmid, $authuser, $realcmd);
index eb15f9cf822978050919df26798d193b319facc4..5a40944518a6cc4d815cec3eb87099f0560aa37f 100644 (file)
@@ -4876,19 +4876,22 @@ my $savevm_wait = sub {
 };
 
 sub snapshot_create {
-    my ($vmid, $snapname, $save_vmstate, $freezefs, $comment) = @_;
+    my ($vmid, $snapname, $save_vmstate, $comment) = @_;
 
     my $snap = &$snapshot_prepare($vmid, $snapname, $save_vmstate, $comment);
 
-    $freezefs = $save_vmstate = 0 if !$snap->{vmstate}; # vm is not running
-
-    my $drivehash = {};
-
-    my $running = check_running($vmid);
+    $save_vmstate = 0 if !$snap->{vmstate}; # vm is not running
 
     my $config = load_config($vmid); 
        
-    if ($running && $freezefs && $config->{agent}) {
+    my $running = check_running($vmid);
+
+    my $freezefs = $running && $config->{agent}; 
+    $freezefs = 0 if $snap->{vmstate}; # not needed if we save RAM
+
+    my $drivehash = {};
+
+    if ($freezefs) {
        eval { vm_mon_cmd($vmid, "guest-fsfreeze-freeze"); };
        warn "guest-fsfreeze-freeze problems - $@" if $@;
     }
@@ -4926,7 +4929,7 @@ sub snapshot_create {
        eval { vm_mon_cmd($vmid, "savevm-end")  };
        warn $@ if $@;
 
-       if ($freezefs && $config->{agent}) {
+       if ($freezefs) {
            eval { vm_mon_cmd($vmid, "guest-fsfreeze-thaw"); }; 
            warn "guest-fsfreeze-thaw problems - $@" if $@;
        }