From 34456bf02e6435c8528a27ccbb95ff59f37135a6 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 29 Oct 2015 15:02:35 +0100 Subject: [PATCH] clone: use a fullclone hash instead of $drive->{full} 'full' is not a valid drive property which are now being checked in print_property_string. Since it's only a temporary value and passed to clone_disk as parameter it can be stored separately. --- PVE/API2/Qemu.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index 3f16bcd3..e9cf5deb 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -2191,6 +2191,7 @@ __PACKAGE__->register_method({ my $newconf = { lock => 'clone' }; my $drives = {}; + my $fullclone = {}; my $vollist = []; foreach my $opt (keys %$oldconf) { @@ -2217,7 +2218,7 @@ __PACKAGE__->register_method({ if ($param->{full}) { die "Full clone feature is not available" if !PVE::Storage::volume_has_feature($storecfg, 'copy', $drive->{file}, $snapname, $running); - $drive->{full} = 1; + $fullclone->{$opt} = 1; } else { # not full means clone instead of copy die "Linked clone feature is not available" @@ -2273,7 +2274,7 @@ __PACKAGE__->register_method({ my $drive = $drives->{$opt}; my $newdrive = PVE::QemuServer::clone_disk($storecfg, $vmid, $running, $opt, $drive, $snapname, - $newid, $storage, $format, $drive->{full}, $newvollist); + $newid, $storage, $format, $fullclone->{$opt}, $newvollist); $newconf->{$opt} = PVE::QemuServer::print_drive($vmid, $newdrive);