mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-08-07 12:46:56 +00:00
Add skiplock to do_import
Functions like qm importovf can now set the "lock" property in a config file before calling do_import. Signed-off-by: Dominic Jäger <d.jaeger@proxmox.com>
This commit is contained in:
parent
b406ab6342
commit
7f384190de
@ -488,7 +488,7 @@ __PACKAGE__->register_method ({
|
|||||||
die "storage $storeid does not support vm images\n"
|
die "storage $storeid does not support vm images\n"
|
||||||
if !$target_storage_config->{content}->{images};
|
if !$target_storage_config->{content}->{images};
|
||||||
|
|
||||||
PVE::QemuServer::ImportDisk::do_import($source, $vmid, $storeid, { format => $format });
|
PVE::QemuServer::ImportDisk::do_import($source, $vmid, $storeid, 0, { format => $format });
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
}});
|
}});
|
||||||
@ -640,7 +640,7 @@ __PACKAGE__->register_method ({
|
|||||||
foreach my $disk (@{ $parsed->{disks} }) {
|
foreach my $disk (@{ $parsed->{disks} }) {
|
||||||
my ($file, $drive) = ($disk->{backing_file}, $disk->{disk_address});
|
my ($file, $drive) = ($disk->{backing_file}, $disk->{disk_address});
|
||||||
PVE::QemuServer::ImportDisk::do_import($file, $vmid, $storeid,
|
PVE::QemuServer::ImportDisk::do_import($file, $vmid, $storeid,
|
||||||
{ drive_name => $drive, format => $format });
|
0, { drive_name => $drive, format => $format });
|
||||||
}
|
}
|
||||||
|
|
||||||
# reload after disks entries have been created
|
# reload after disks entries have been created
|
||||||
|
@ -12,7 +12,7 @@ use PVE::Tools qw(run_command extract_param);
|
|||||||
# $optional->{drive_name} may be used to specify ide0, scsi1, etc ...
|
# $optional->{drive_name} may be used to specify ide0, scsi1, etc ...
|
||||||
# $optional->{format} may be used to specify qcow2, raw, etc ...
|
# $optional->{format} may be used to specify qcow2, raw, etc ...
|
||||||
sub do_import {
|
sub do_import {
|
||||||
my ($src_path, $vmid, $storage_id, $optional) = @_;
|
my ($src_path, $vmid, $storage_id, $skiplock, $optional) = @_;
|
||||||
|
|
||||||
my $drive_name = extract_param($optional, 'drive_name');
|
my $drive_name = extract_param($optional, 'drive_name');
|
||||||
my $format = extract_param($optional, 'format');
|
my $format = extract_param($optional, 'format');
|
||||||
@ -41,7 +41,9 @@ sub do_import {
|
|||||||
|
|
||||||
my $create_drive = sub {
|
my $create_drive = sub {
|
||||||
my $vm_conf = PVE::QemuConfig->load_config($vmid);
|
my $vm_conf = PVE::QemuConfig->load_config($vmid);
|
||||||
PVE::QemuConfig->check_lock($vm_conf);
|
if (!$skiplock) {
|
||||||
|
PVE::QemuConfig->check_lock($vm_conf);
|
||||||
|
}
|
||||||
|
|
||||||
if ($drive_name) {
|
if ($drive_name) {
|
||||||
# should never happen as setting $drive_name is not exposed to public interface
|
# should never happen as setting $drive_name is not exposed to public interface
|
||||||
|
Loading…
Reference in New Issue
Block a user