[pve-devel] [RFC pve-storage] Add feature property 'lxc_clone'

Wolfgang Link w.link at proxmox.com
Thu Jun 7 14:34:41 CEST 2018


LXC and Qemu have different clone requirements.
Since LXC has no qcow2 support, there is no possibility to create a
linked clone on directory storage.
---
 PVE/Storage/LvmThinPlugin.pm | 1 +
 PVE/Storage/RBDPlugin.pm     | 1 +
 PVE/Storage/ZFSPlugin.pm     | 1 +
 PVE/Storage/ZFSPoolPlugin.pm | 1 +
 4 files changed, 4 insertions(+)

diff --git a/PVE/Storage/LvmThinPlugin.pm b/PVE/Storage/LvmThinPlugin.pm
index cb2c1a2..60c0b20 100644
--- a/PVE/Storage/LvmThinPlugin.pm
+++ b/PVE/Storage/LvmThinPlugin.pm
@@ -350,6 +350,7 @@ sub volume_has_feature {
     my $features = {
 	snapshot => { current => 1 },
 	clone => { base => 1, snap => 1},
+	lxc_clone => { base => 1, snap => 1},
 	template => { current => 1},
 	copy => { base => 1, current => 1, snap => 1},
 	sparseinit => { base => 1, current => 1},
diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm
index 15cbe67..bea8776 100644
--- a/PVE/Storage/RBDPlugin.pm
+++ b/PVE/Storage/RBDPlugin.pm
@@ -680,6 +680,7 @@ sub volume_has_feature {
    my $features = {
 	snapshot => { current => 1, snap => 1},
 	clone => { base => 1, snap => 1},
+	lxc_clone => { base => 1, snap => 1},
 	template => { current => 1},
 	copy => { base => 1, current => 1, snap => 1},
 	sparseinit => { base => 1, current => 1},
diff --git a/PVE/Storage/ZFSPlugin.pm b/PVE/Storage/ZFSPlugin.pm
index f88fe94..8ed50da 100644
--- a/PVE/Storage/ZFSPlugin.pm
+++ b/PVE/Storage/ZFSPlugin.pm
@@ -349,6 +349,7 @@ sub volume_has_feature {
     my $features = {
 	snapshot => { current => 1, snap => 1},
 	clone => { base => 1},
+	lxc_clone => { base => 1},
 	template => { current => 1},
 	copy => { base => 1, current => 1},
     };
diff --git a/PVE/Storage/ZFSPoolPlugin.pm b/PVE/Storage/ZFSPoolPlugin.pm
index 32e53aa..bf6b7ca 100644
--- a/PVE/Storage/ZFSPoolPlugin.pm
+++ b/PVE/Storage/ZFSPoolPlugin.pm
@@ -643,6 +643,7 @@ sub volume_has_feature {
     my $features = {
 	snapshot => { current => 1, snap => 1},
 	clone => { base => 1},
+	lxc_clone => { base => 1},
 	template => { current => 1},
 	copy => { base => 1, current => 1},
 	sparseinit => { base => 1, current => 1},
-- 
2.11.0





More information about the pve-devel mailing list