Signed-off-by: Jasmin Jessich <jas...@anw.at> --- PVE/API2/Qemu.pm | 5 ++++- PVE/QemuServer.pm | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index a0fcd28..32ee6de 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -71,6 +71,7 @@ my $check_storage_access_clone = sub { my ($ds, $drive) = @_; my $isCDROM = PVE::QemuServer::drive_is_cdrom($drive); + my $isDEVICE = PVE::QemuServer::drive_is_device($drive); my $volid = $drive->{file}; @@ -86,7 +87,7 @@ my $check_storage_access_clone = sub { $sharedvm = 0 if !$scfg->{shared}; } - } else { + } elsif (!$isDEVICE) { my ($sid, $volname) = PVE::Storage::parse_volume_id($volid); my $scfg = PVE::Storage::storage_config($storecfg, $sid); $sharedvm = 0 if !$scfg->{shared}; @@ -2260,6 +2261,8 @@ __PACKAGE__->register_method({ die "unable to parse drive options for '$opt'\n" if !$drive; if (PVE::QemuServer::drive_is_cdrom($drive)) { $newconf->{$opt} = $value; # simply copy configuration + } elsif (PVE::QemuServer::drive_is_device($drive)) { + $newconf->{$opt} = $value; # simply copy configuration } else { if ($param->{full}) { die "Full clone feature is not available" diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 98264d1..49fbffa 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -1272,6 +1272,14 @@ sub drive_is_cdrom { } +sub drive_is_device { + my ($drive) = @_; + + my $volid = $drive->{file}; + + return $volid && $volid =~ m/^\/dev\//; +} + sub parse_hostpci { my ($value) = @_; -- 1.8.3.2 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel