From eeb703a6cde49c872e4583ac5d43069f77f5c76d Mon Sep 17 00:00:00 2001 From: Dave Russell <39733752+007revad@users.noreply.github.com> Date: Thu, 26 Dec 2024 07:48:34 +1100 Subject: [PATCH] Create writemostly_debug.sh --- writemostly_debug.sh | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 writemostly_debug.sh diff --git a/writemostly_debug.sh b/writemostly_debug.sh new file mode 100644 index 0000000..914819e --- /dev/null +++ b/writemostly_debug.sh @@ -0,0 +1,47 @@ +#/bin/bash + + # Get array of internal drives + readarray -t internal_drives < <(synodisk --enum -t internal | grep 'Disk path' | cut -d"/" -f3) + + echo "internal_drives: ${internal_drives[@]}" # debug ################ + echo "internal_drives_qty: ${#internal_drives[@]}" # debug ########### + + # Get list of internal HDDs and qty of SSDs + internal_ssd_qty="0" + for idrive in "${internal_drives[@]}"; do + + echo "idrive: $idrive" # debug ################################### + +# internal_drive="$(echo "$idrive" | awk '{printf $4}')" + +# echo "internal_drive: $internal_drive" # debug ################### + + #if synodisk --isssd "$internal_drive" >/dev/null; then +# if synodisk --isssd /dev/"${internal_drive:?}" >/dev/null; then + if synodisk --isssd /dev/"${idrive:?}" >/dev/null; then + # exit code 0 = is not SSD + # exit code 1 = is SSD + + # Add internal HDDs to array + internal_hdds+=("$idrive") + else + # Count number of internal 2.5 inch SSDs + internal_ssd_qty=$((internal_ssd_qty +1)) + fi + done + + echo "internal_ssd_qty: $internal_ssd_qty" # debug ################### + echo "internal_hdd_qty: ${#internal_hdds[@]}" # debug ################ + echo "internal_hdds: ${internal_hdds[@]}" # debug #################### + + # Set HDDs to writemostly if there's also internal SSDs + if [[ $internal_ssd_qty -gt "0" ]] && [[ ${#internal_hdds[@]} -gt "0" ]]; then + # There are internal SSDs and HDDs + echo -e "\nSetting internal HDDs state to write_mostly:" + for idrive in "${internal_hdds[@]}"; do + + echo "set_writemostly writemostly $idrive" # debug ########### + + done + fi +