From 42a19c87bcdf2c3ce7ee06e4a0a2d8acc1945c0f Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Tue, 30 Apr 2013 10:34:08 +0200 Subject: [PATCH] vm_copy : add optional format parameter can be qcow2,raw,vmdk Signed-off-by: Alexandre Derumier --- PVE/API2/Qemu.pm | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index fde6eb9c..713ee549 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -1823,6 +1823,13 @@ __PACKAGE__->register_method({ requires => 'full', optional => 1, }), + format => { + description => "Target format for file storage.", + requires => 'full', + type => 'string', + optional => 1, + enum => [ 'raw', 'qcow2', 'vmdk'], + }, full => { optional => 1, type => 'boolean', @@ -1859,6 +1866,8 @@ __PACKAGE__->register_method({ my $storage = extract_param($param, 'storage'); + my $format = extract_param($param, 'format'); + my $storecfg = PVE::Storage::config(); PVE::Cluster::check_cfs_quorum(); @@ -1962,8 +1971,14 @@ __PACKAGE__->register_method({ } else { my ($storeid, $volname) = PVE::Storage::parse_volume_id($drive->{file}); $storeid = $storage if $storage; - my $defformat = PVE::Storage::storage_default_format($storecfg, $storeid); - my $fmt = $drive->{format} || $defformat; + + my $fmt = undef; + if($format){ + $fmt = $format; + }else{ + my $defformat = PVE::Storage::storage_default_format($storecfg, $storeid); + $fmt = $drive->{format} || $defformat; + } my ($size) = PVE::Storage::volume_size_info($storecfg, $drive->{file}, 3); -- 2.39.5