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', type => 'boolean',
description => "Freeze the filesystem", description => "Freeze the filesystem",
}, },
description => {
optional => 1,
type => 'string',
description => "A textual description or comment.",
},
}, },
}, },
returns => { returns => {
@ -1982,13 +1987,10 @@ __PACKAGE__->register_method({
my $snapname = extract_param($param, 'snapname'); my $snapname = extract_param($param, 'snapname');
my $vmstate = extract_param($param, 'vmstate');
my $freezefs = extract_param($param, 'freezefs');
my $realcmd = sub { my $realcmd = sub {
PVE::Cluster::log_msg('info', $authuser, "snapshot VM $vmid: $snapname"); 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); 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) { if ($line =~ m/^\[([a-z][a-z0-9_\-]+)\]\s*$/i) {
my $snapname = $1; my $snapname = $1;
$conf->{description} = $descr if $descr; $conf->{description} = $descr if $descr;
my $descr = ''; $descr = '';
$conf = $res->{snapshots}->{$snapname} = {}; $conf = $res->{snapshots}->{$snapname} = {};
next; next;
} }
@ -3611,7 +3611,7 @@ my $snapshot_apply_config = sub {
}; };
my $snapshot_prepare = sub { my $snapshot_prepare = sub {
my ($vmid, $snapname) = @_; my ($vmid, $snapname, $comment) = @_;
my $snap; my $snap;
@ -3648,13 +3648,14 @@ my $snapshot_prepare = sub {
} }
}); });
$snap = $conf->{snapshots}->{$snapname} = { $snap = $conf->{snapshots}->{$snapname} = {};
snapstate => "prepare",
snaptime => time(),
};
&$snapshot_copy_config($conf, $snap); &$snapshot_copy_config($conf, $snap);
$snap->{snapstate} = "prepare";
$snap->{snaptime} = time();
$snap->{description} = $comment if $comment;
update_config_nolock($vmid, $conf, 1); update_config_nolock($vmid, $conf, 1);
}; };
@ -3750,9 +3751,9 @@ sub snapshot_rollback {
} }
sub snapshot_create { 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 { eval {
# create internal snapshots of all drives # create internal snapshots of all drives