5
0
mirror of git://git.proxmox.com/git/qemu-server.git synced 2025-03-12 20:58:26 +03:00

add description for snapshots

This commit is contained in:
Dietmar Maurer 2012-09-11 09:00:26 +02:00
parent 982c7f1273
commit 782f4f753f
2 changed files with 16 additions and 13 deletions

View File

@ -1963,6 +1963,11 @@ __PACKAGE__->register_method({
type => 'boolean',
description => "Freeze the filesystem",
},
description => {
optional => 1,
type => 'string',
description => "A textual description or comment.",
},
},
},
returns => {
@ -1982,13 +1987,10 @@ __PACKAGE__->register_method({
my $snapname = extract_param($param, 'snapname');
my $vmstate = extract_param($param, 'vmstate');
my $freezefs = extract_param($param, 'freezefs');
my $realcmd = sub {
PVE::Cluster::log_msg('info', $authuser, "snapshot VM $vmid: $snapname");
PVE::QemuServer::snapshot_create($vmid, $snapname, $vmstate, $freezefs);
PVE::QemuServer::snapshot_create($vmid, $snapname, $param->{vmstate},
$param->{freezefs}, $param->{description});
};
return $rpcenv->fork_worker('qmsnapshot', $vmid, $authuser, $realcmd);

View File

@ -1583,7 +1583,7 @@ sub parse_vm_config {
if ($line =~ m/^\[([a-z][a-z0-9_\-]+)\]\s*$/i) {
my $snapname = $1;
$conf->{description} = $descr if $descr;
my $descr = '';
$descr = '';
$conf = $res->{snapshots}->{$snapname} = {};
next;
}
@ -3611,7 +3611,7 @@ my $snapshot_apply_config = sub {
};
my $snapshot_prepare = sub {
my ($vmid, $snapname) = @_;
my ($vmid, $snapname, $comment) = @_;
my $snap;
@ -3648,13 +3648,14 @@ my $snapshot_prepare = sub {
}
});
$snap = $conf->{snapshots}->{$snapname} = {
snapstate => "prepare",
snaptime => time(),
};
$snap = $conf->{snapshots}->{$snapname} = {};
&$snapshot_copy_config($conf, $snap);
$snap->{snapstate} = "prepare";
$snap->{snaptime} = time();
$snap->{description} = $comment if $comment;
update_config_nolock($vmid, $conf, 1);
};
@ -3750,9 +3751,9 @@ sub snapshot_rollback {
}
sub snapshot_create {
my ($vmid, $snapname, $vmstate, $freezefs) = @_;
my ($vmid, $snapname, $vmstate, $freezefs, $comment) = @_;
my $snap = &$snapshot_prepare($vmid, $snapname);
my $snap = &$snapshot_prepare($vmid, $snapname, $comment);
eval {
# create internal snapshots of all drives