From 8d273fe8d76ef394cfab04a195c90f4b7aeb8495 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sat, 4 Jul 2020 23:12:49 +0200 Subject: Fix firstdisk_test for NVMe, add $firstdisk and $firstdiskp vars --- nfs/nfs-autorun.sh | 4 +++- nfs/scripts/funcs.sh | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'nfs') diff --git a/nfs/nfs-autorun.sh b/nfs/nfs-autorun.sh index bb3c602..04cdf0e 100755 --- a/nfs/nfs-autorun.sh +++ b/nfs/nfs-autorun.sh @@ -11,7 +11,9 @@ source $scriptdir/funcs.sh # Load some nfs-autorun.sh specific helper functions # Check all prerequisites and exit if it fail hostname_test || exit 1 -firstdisk_test || exit 2 +firstdisk=$(firstdisk) +firstdisk_test "$firstdisk" || exit 2 +firstdiskp=$(firstdiskp "$firstdisk") # Run the main action script if nfswrite_test diff --git a/nfs/scripts/funcs.sh b/nfs/scripts/funcs.sh index a1757a1..3d0d849 100644 --- a/nfs/scripts/funcs.sh +++ b/nfs/scripts/funcs.sh @@ -33,10 +33,23 @@ nfswrite_test() { fi } +firstdisk() { + # "sort", so we have nvme, then sata, then usb + lsblk -dnl --output TRAN,PATH | sort | head -n1 | awk '{print $2}' +} + +firstdiskp() { + # $1 : disk devnode path as return by firstdisk() + echo "$1" | grep -q '[0-9]$' && echo "${1}p" || echo "$1" +} + # no args, print colored message, returns 0 if sda is present and is sata, returns >0 if it is not firstdisk_test() { - diskinfo=$(lsblk --list --output TRAN,MODEL --noheadings --nodeps /dev/sda) + diskinfo=$(lsblk -dnl --output TRAN,MODEL "$1") case $diskinfo in + nvme*) echo_color green black ">>> First disk is NVMe and is available ($diskinfo)" + return 0 + ;; sata*) echo_color green black ">>> First disk is SATA and is available ($diskinfo)" return 0 ;; -- cgit v1.2.3