[pve-devel] [PATCH 24/44] sheepdog : has_feature : clone base
Alexandre Derumier
aderumier at odiso.com
Thu Feb 14 11:05:10 CET 2013
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
PVE/Storage/SheepdogPlugin.pm | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/PVE/Storage/SheepdogPlugin.pm b/PVE/Storage/SheepdogPlugin.pm
index ae6a837..14875a9 100644
--- a/PVE/Storage/SheepdogPlugin.pm
+++ b/PVE/Storage/SheepdogPlugin.pm
@@ -405,13 +405,21 @@ sub volume_snapshot_delete {
sub volume_has_feature {
my ($class, $scfg, $feature, $storeid, $volname, $snapname, $running) = @_;
- my $features = {
+ my $features = {
snapshot => { current => 1, snap => 1},
- clone => { snap => 1},
+ clone => { base => 1},
};
- my $snap = $snapname ? 'snap' : 'current';
- return 1 if $features->{$feature}->{$snap};
+ my ($vtype, $name, $vmid, $basename, $basevmid, $isBase) =
+ $class->parse_volname($volname);
+
+ my $key = undef;
+ if($snapname){
+ $key = $snapname
+ }else{
+ $key = $isBase ? 'base' : 'current';
+ }
+ return 1 if $features->{$feature}->{$key};
return undef;
}
--
1.7.10.4
More information about the pve-devel
mailing list