Gave both patches a spin and they work fine on first glance.
We should probably assign a fixed PCI bus/addr to the NVMe devices though (same as we do for SCSI and AHCI hardware with print_pci_addr somewhere in the depths of config_to_command).
On 5/13/20 5:36 PM, Oguz Bektas wrote:
now we can add nvme drives; nvme0: local-lvm:vm-103-disk-0,size=32G max number is 8 Signed-off-by: Oguz Bektas <o.bek...@proxmox.com> --- PVE/QemuServer.pm | 20 +++++++++++++++++--- PVE/QemuServer/Drive.pm | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index dcf05df..441d209 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -406,7 +406,7 @@ EODESC optional => 1, type => 'string', format => 'pve-qm-bootdisk', description => "Enable booting from specified disk.", - pattern => '(ide|sata|scsi|virtio)\d+', + pattern => '(ide|sata|scsi|virtio|nvme)\d+', }, smp => { optional => 1, @@ -1424,7 +1424,11 @@ sub print_drivedevice_full { $device .= ",rotation_rate=1"; } $device .= ",wwn=$drive->{wwn}" if $drive->{wwn}; - + } elsif ($drive->{interface} eq 'nvme') { + my $maxdev = $PVE::QemuServer::Drive::MAX_NVME_DISKS;
$maxdev is not used anywhere?
+ my $path = $drive->{file}; + $drive->{serial} = "$drive->{interface}$drive->{index}"; # serial is mandatory for nvme + $device = "nvme,drive=drive-$drive->{interface}$drive->{index}"; } elsif ($drive->{interface} eq 'ide' || $drive->{interface} eq 'sata') { my $maxdev = ($drive->{interface} eq 'sata') ? $PVE::QemuServer::Drive::MAX_SATA_DISKS : 2; my $controller = int($drive->{index} / $maxdev);
> > [...] _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel