fi
}
+get_transp () {
+ local dev="$1"
+ local par_dev="$dev"
+ local pd
+ while true; do
+ pd=$(lsblk -dnr -o PKNAME "$par_dev")
+ if [ "$?" -ne 0 ]; then
+ return $?
+ fi
+ if [ -z "$pd" ]; then
+ break
+ else
+ par_dev="/dev/$pd"
+ fi
+ done
+ lsblk -dnr -o TRAN "$par_dev"
+}
+
zpool_is_nvme_only () {
zpool=$1
# get a list of devices attached to the specified zpool
- zpool list -vHPL "${zpool}" |
- awk -F'\t' '$2 ~ /^\/dev\// {
- if($2 !~ /^\/dev\/nvme/)
- exit 1
- }'
+ for x in $(zpool list -vHPL "${zpool}" |\
+ awk -F'\t' '{if($2 ~ /^\/dev\//) print $2}'); do
+ if [ "$(get_transp $x)" != "nvme" ]; then
+ return 1
+ fi
+ done
}
# TRIM all healthy pools that are not already trimming as per their configs.