[pve-devel] [Patch V2 container] fix #1778: check if storage support templates
Wolfgang Link
w.link at proxmox.com
Wed Jun 6 15:21:45 CEST 2018
LXC can only create templates on storages which support linked clones.
To prevent this, we will check before we convert to a template if the
storage support this.
---
src/PVE/API2/LXC.pm | 9 +++++++++
1 file changed, 9 insertions(+)
[Patch V2]
change formatting
rename var
fix grammar
diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index f555b84..651138f 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -1166,6 +1166,15 @@ __PACKAGE__->register_method({
die "you can't convert a CT to template if the CT is running\n"
if PVE::LXC::check_running($vmid);
+ my $scfg = PVE::Storage::config();
+ PVE::LXC::Config->foreach_mountpoint($conf, sub {
+ my ($ms, $mp) = @_;
+
+ my ($sid) =PVE::Storage::parse_volume_id($mp->{volume}, 0);
+ die "Storage '$sid' does not support templates!\n"
+ if $scfg->{ids}->{$sid}->{path};
+ });
+
my $realcmd = sub {
PVE::LXC::template_create($vmid, $conf);
--
2.11.0
More information about the pve-devel
mailing list