mirror of
git://git.proxmox.com/git/pve-storage.git
synced 2025-01-24 02:04:13 +03:00
disk manage: pass full NVMe device path to smartctl
This essentially reverts commit c9bd3d2 ("fix #1123: modify NVME device path for SMART support"). The man page for smartctl states > Use the forms "/dev/nvme[0-9]" (broadcast namespace) or > "/dev/nvme[0-9]n[1-9]" (specific namespace 1-9) for NVMe devices. so it should be fine to pass the path with the specific namespace to smartctl. But that text was already present in the man page of version 6.5, which is the version the commit c9bd3d2 talks about. It might be that it was necessary to drop the specific namespace for the version backported from Stretch to Jessie (the bug report mentions that that version was used[0]), but it's not quite clear. With current versions, passing in the path with the specific namespace did work as expected[1], even on a device with multiple namespaces set up tested locally. In PBS, the path queried via udev::Device::from_syspath("/sys/block/{name}") is passed to smartctl and that also included the specific namespace on the systems I tested with a short script. So pass the full path to make things a little bit simpler and to avoid potential future issues like bug #2020[2]. [0]: https://bugzilla.proxmox.com/show_bug.cgi?id=1123#c3 [1]: https://forum.proxmox.com/threads/113962/post-493185 [2]: https://bugzilla.proxmox.com/show_bug.cgi?id=2020 Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
668c15043f
commit
4be012a4cd
@ -93,8 +93,6 @@ sub get_smart_data {
|
||||
my $smartdata = {};
|
||||
my $type;
|
||||
|
||||
$disk =~ s/n\d+$// if $disk =~ m!^/dev/nvme\d+n\d+$!;
|
||||
|
||||
my $cmd = [$SMARTCTL, '-H'];
|
||||
push @$cmd, '-A', '-f', 'brief' if !$healthonly;
|
||||
push @$cmd, $disk;
|
||||
|
Loading…
x
Reference in New Issue
Block a user