Hello! Testing: qemu-server: 4.0-85
Problem: #qm clone 106 117 -storage local -full create full clone of drive ide1 (iso:106/vm-106-disk-1.qcow2) Formatting '/var/lib/vz/images/117/vm-117-disk-2.qcow2', fmt=qcow2 size=1073664 encryption=off cluster_size=65536 preallocation=metadata lazy_refcounts=off refcount_bits=16 transferred: 0 bytes remaining: 1073664 bytes total: 1073664 bytes progression: 0.00 % transferred: 1073664 bytes remaining: 0 bytes total: 1073664 bytes progression: 100.00 % transferred: 1073664 bytes remaining: 0 bytes total: 1073664 bytes progression: 100.00 % was:disk-1 -> became:disk-2 I use VM with an identical configuration. There is a wish to have identical names of disks. Patch sketch: added parameter: -oldnamedisk (qm clone 106 117 -storage local -full -oldnamedisk) --- /usr/share/perl5/PVE/API2/Qemu.pm.bak 2016-07-20 22:13:00.851780111 +0300 +++ /usr/share/perl5/PVE/API2/Qemu.pm 2016-07-20 22:07:27.626444295 +0300 @@ -2203,6 +2203,12 @@ "you clone a normal VM. For VM templates, we try to create a linked clone by default.", default => 0, }, + oldnamedisk => { + optional => 1, + type => 'boolean', + description => "Old name disk", + default => 0, + }, target => get_standard_option('pve-node', { description => "Target node. Only allowed if the original VM is on shared storage.", optional => 1, @@ -2378,7 +2384,8 @@ my $drive = $drives->{$opt}; my $newdrive = PVE::QemuServer::clone_disk($storecfg, $vmid, $running, $opt, $drive, $snapname, - $newid, $storage, $format, $fullclone->{$opt}, $newvollist); + $newid, $storage, $format, $fullclone->{$opt}, + $param->{oldnamedisk}, $newvollist); $newconf->{$opt} = PVE::QemuServer::print_drive($vmid, $newdrive); @@ -2547,7 +2554,7 @@ if $snapshotted; my $newdrive = PVE::QemuServer::clone_disk($storecfg, $vmid, $running, $disk, $drive, undef, - $vmid, $storeid, $format, 1, $newvollist); + $vmid, $storeid, $format, 1, 0, $newvollist); $conf->{$disk} = PVE::QemuServer::print_drive($vmid, $newdrive); --- /usr/share/perl5/PVE/QemuServer.pm.bak 2016-07-20 21:16:30.858244179 +0300 +++ /usr/share/perl5/PVE/QemuServer.pm 2016-07-20 22:18:10.961023340 +0300 @@ -5722,7 +5722,7 @@ sub clone_disk { my ($storecfg, $vmid, $running, $drivename, $drive, $snapname, - $newvmid, $storage, $format, $full, $newvollist) = @_; + $newvmid, $storage, $format, $full, $oldnamedisk, $newvollist) = @_; my $newvolid; @@ -5748,7 +5748,12 @@ print "create full clone of drive $drivename ($drive->{file})\n"; - $newvolid = PVE::Storage::vdisk_alloc($storecfg, $storeid, $newvmid, $format, undef, ($size/1024)); + my $name = undef; + if ($oldnamedisk && $drive->{file} =~ /(vm|base)-\d+-disk-(\d+)/){ + $name = "$1-$newvmid-disk-$2.$format"; + } + + $newvolid = PVE::Storage::vdisk_alloc($storecfg, $storeid, $newvmid, $format, $name, ($size/1024)); push @$newvollist, $newvolid; PVE::Storage::activate_volumes($storecfg, $newvollist); It is possible to consider this patch? Excuse my poor English. -- Чт. июля 21 20:16:32 IRKT 2016 ------------------------ С уважением, Vladimir Galaichuk _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel