mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-07 11:10:24 +00:00
add description for snapshots
This commit is contained in:
parent
982c7f1273
commit
782f4f753f
@ -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);
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user