Skip to content

Commit e6b85a2

Browse files
committed
Fix NVMe drive enrichment in picker (controller vs namespace path)
smartctl --scan returns /dev/nvme0 (controller) but lsblk uses nvme0n1 (namespace). Picker now falls back to n1 when exact match fails, so NVMe drives show size, model, and [nvme] transport correctly.
1 parent 1a41fc4 commit e6b85a2

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

install.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,11 @@ pick_drives() {
642642
if [ "$has_lsblk" = "true" ] && [ -n "$lsblk_out" ]; then
643643
local lsblk_line
644644
lsblk_line=$(echo "$lsblk_out" | awk -v d="$dname" '$1 == d {print; exit}')
645+
# NVMe: smartctl returns controller path (/dev/nvme0) but lsblk uses
646+
# namespace path (nvme0n1). Fall back to ${name}n1 if exact match fails.
647+
if [ -z "$lsblk_line" ] && [[ "$dname" == nvme* ]]; then
648+
lsblk_line=$(echo "$lsblk_out" | awk -v d="${dname}n1" '$1 == d {print; exit}')
649+
fi
645650
if [ -n "$lsblk_line" ]; then
646651
dev_size[$i]=$(echo "$lsblk_line" | awk '{print $2}')
647652
dev_model[$i]=$(echo "$lsblk_line" | awk '{$1=""; $2=""; $NF=""; sub(/[[:space:]]*$/, ""); sub(/^[[:space:]]+/, ""); NF--; print}')

0 commit comments

Comments
 (0)