]> git.proxmox.com Git - qemu-server.git/blobdiff - PVE/QemuServer.pm
add qemu_volume_snapshot_delete
[qemu-server.git] / PVE / QemuServer.pm
index 9c9af3ffccb02ecb290d818f9b50f5e6a539b82c..8aee7a1e1ab4ce719c5e959f8a2f68fdf7aaaa90 100644 (file)
@@ -287,11 +287,11 @@ EODESC
        description => "Enable/disable ACPI.",
        default => 1,
     },
-    qga => {
+    agent => {
        optional => 1,
        type => 'boolean',
        description => "Enable/disable Qemu GuestAgent.",
-       default => 1,
+       default => 0,
     },
     kvm => {
        optional => 1,
@@ -2217,7 +2217,7 @@ sub config_to_command {
     #push @$cmd, '-soundhw', 'es1370';
     #push @$cmd, '-soundhw', $soundhw if $soundhw;
 
-    if($conf->{qga}) {
+    if($conf->{agent}) {
        my $qgasocket = qga_socket($vmid);
        my $pciaddr = print_pci_addr("qga0", $bridges);
        push @$devices, '-chardev', "socket,path=$qgasocket,server,nowait,id=qga0";
@@ -2753,6 +2753,66 @@ sub qemu_block_resize {
 
 }
 
+sub qemu_volume_snapshot {
+    my ($vmid, $deviceid, $storecfg, $volid, $snap) = @_;
+
+    my $running = PVE::QemuServer::check_running($vmid);
+
+    return if !PVE::Storage::volume_snapshot($storecfg, $volid, $snap, $running);
+
+    return if !$running;
+
+    vm_mon_cmd($vmid, "snapshot-drive", device => $deviceid, name => $snap);
+
+}
+
+sub qemu_volume_snapshot_delete {
+    my ($vmid, $deviceid, $storecfg, $volid, $snap) = @_;
+
+     #need to implement statefile location
+    my $statefile="/tmp/$vmid-$snap";
+
+    unlink $statefile if -e $statefile;
+
+    my $running = PVE::QemuServer::check_running($vmid);
+
+    return if !PVE::Storage::volume_snapshot_delete($storecfg, $volid, $snap, $running);
+
+    return if !$running;
+
+    #need to split delvm monitor command like savevm
+
+}
+
+sub qemu_snapshot_start {
+    my ($vmid, $snap) = @_;
+
+    #need to implement statefile location
+    my $statefile="/tmp/$vmid-$snap";
+
+    vm_mon_cmd($vmid, "snapshot-start", statefile => $statefile);
+
+}
+
+sub qemu_snapshot_end {
+    my ($vmid) = @_;
+
+    vm_mon_cmd($vmid, "snapshot-end");
+
+}
+
+sub qga_freezefs {
+    my ($vmid) = @_;
+
+    #need to impplement call to qemu-ga
+}
+
+sub qga_unfreezefs {
+    my ($vmid) = @_;
+
+    #need to impplement call to qemu-ga
+}
+
 sub vm_start {
     my ($storecfg, $vmid, $statefile, $skiplock, $migratedfrom) = @_;