From: Fabian Grünbichler Date: Mon, 3 Oct 2016 11:53:37 +0000 (+0200) Subject: fix #1123: modify NVME device path for SMART support X-Git-Url: https://git.proxmox.com/?p=pve-storage.git;a=commitdiff_plain;h=c9bd3d22b266a506e37dc6db41a3f9abc2f7e978 fix #1123: modify NVME device path for SMART support seems like we need to drop the namespace part before calling smartctl. note that NVME devices require smartmontools >= 6.5 --- diff --git a/PVE/Diskmanage.pm b/PVE/Diskmanage.pm index bfec6bb..36a5b5b 100644 --- a/PVE/Diskmanage.pm +++ b/PVE/Diskmanage.pm @@ -77,6 +77,10 @@ sub get_smart_data { my $type; my $returncode = 0; + + $disk =~ s/n\d+$// + if $disk =~ m!^/dev/nvme\d+n\d+$!; + eval { $returncode = run_command([$SMARTCTL, '-H', '-A', '-f', 'brief', $disk], noerr => 1, outfunc => sub{ my ($line) = @_; @@ -134,6 +138,8 @@ sub get_smart_health { return "NOT A DEVICE" if !assert_blockdev($disk, 1); my $message; + $disk =~ s/n\d+$// + if $disk =~ m!^/dev/nvme\d+n\d+$!; run_command([$SMARTCTL, '-H', $disk], noerr => 1, outfunc => sub { my ($line) = @_;