]> git.proxmox.com Git - qemu-server.git/commitdiff
API2: remove require full parameter for snapshot cloning
authorStefan Priebe <s.priebe@profihost.ag>
Fri, 4 Jul 2014 08:25:48 +0000 (10:25 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 17 Jul 2014 07:22:37 +0000 (09:22 +0200)
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
PVE/API2/Qemu.pm

index d03e28a0192694702362399fe3dd3c3d94c10208..a4c5f21e7f8c8f86ca7cd1826fef8e0dc3d8b41b 100644 (file)
@@ -2128,7 +2128,6 @@ __PACKAGE__->register_method({
                description => "Add the new VM to the specified pool.",
            },
             snapname => get_standard_option('pve-snapshot-name', {
-               requires => 'full',
                optional => 1,
             }),
            storage => get_standard_option('pve-storage-id', {
@@ -2262,10 +2261,14 @@ __PACKAGE__->register_method({
                    if (PVE::QemuServer::drive_is_cdrom($drive)) {
                        $newconf->{$opt} = $value; # simply copy configuration
                    } else {
-                       if ($param->{full} || !PVE::Storage::volume_is_base($storecfg,  $drive->{file})) {
+                       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;
+                       } else {
+                           # not full means clone instead of copy
+                           die "Linked clone feature is not available"
+                               if !PVE::Storage::volume_has_feature($storecfg, 'clone', $drive->{file}, $snapname, $running);
                        }
                        $drives->{$opt} = $drive;
                        push @$vollist, $drive->{file};