From b58282b3d65d28f73b821568e1f0359ab2a63089 Mon Sep 17 00:00:00 2001 From: Gmer4Lfe Date: Mon, 24 Aug 2026 18:46:26 -0400 Subject: [PATCH] Read a filesystem once where two probes were answering the same question --- Arrs_Stack/arr_download_orphan_cleaner.sh | 3 +-- Tools/ramdisk_stop.sh | 8 +++++--- Transcodes/ramdisk_setup.sh | 18 ++++++++++++------ Transcodes/transcode_cleanup.sh | 8 +++++--- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/Arrs_Stack/arr_download_orphan_cleaner.sh b/Arrs_Stack/arr_download_orphan_cleaner.sh index e0d7ff0..9aa0ac3 100755 --- a/Arrs_Stack/arr_download_orphan_cleaner.sh +++ b/Arrs_Stack/arr_download_orphan_cleaner.sh @@ -354,8 +354,7 @@ for arr in sonarr radarr lidarr; do big_unknown=$((big_unknown + 1)) done < <(find "$entry" -type f -size +"${min_mb}"M 2>/dev/null) - size_mb=$(du -sm "$entry" 2>/dev/null | cut -f1) - size_mb=${size_mb:-0} + size_mb=$(dir_size_mb "$entry") || size_mb=0 if [[ "$has_media" == false ]] && (( big_unknown > 0 )); then warn " no recognised media, but $big_unknown large file(s) of unknown type — holding: $base" diff --git a/Tools/ramdisk_stop.sh b/Tools/ramdisk_stop.sh index 9ce00b9..9e94651 100755 --- a/Tools/ramdisk_stop.sh +++ b/Tools/ramdisk_stop.sh @@ -154,9 +154,11 @@ if [[ "$SHOW_STATUS" == true ]]; then echo "" if mountpoint -q "$RAMDISK_PATH" 2>/dev/null; then - USAGE=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $3}') - AVAIL=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $4}') - echo " $ICON_RAM Ramdisk: mounted — $USAGE used / $AVAIL available ✅" + if read -r _ USED_MB AVAIL_MB <<< "$(disk_df "$RAMDISK_PATH")" && [[ -n "$AVAIL_MB" ]]; then + echo " $ICON_RAM Ramdisk: mounted — $(format_mb "$USED_MB") used / $(format_mb "$AVAIL_MB") available ✅" + else + echo " $ICON_RAM Ramdisk: mounted — size unreadable" + fi FILE_COUNT=$(find "$RAMDISK_PATH" -type f 2>/dev/null | wc -l) echo " $ICON_RAM Active files on ramdisk: $FILE_COUNT" else diff --git a/Transcodes/ramdisk_setup.sh b/Transcodes/ramdisk_setup.sh index fd103cd..b9f6b56 100755 --- a/Transcodes/ramdisk_setup.sh +++ b/Transcodes/ramdisk_setup.sh @@ -197,9 +197,13 @@ if [[ "$SHOW_STATUS" == true ]]; then echo "" if mountpoint -q "$RAMDISK_PATH" 2>/dev/null; then - USAGE=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $3}') - AVAIL=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $4}') - echo " $ICON_RAM Ramdisk: mounted — $USAGE used / $AVAIL available ✅" + # One df, not two — used and available come from the same read, so they cannot + # describe two different moments of a ramdisk that is actively being written to. + if read -r _ USED_MB AVAIL_MB <<< "$(disk_df "$RAMDISK_PATH")" && [[ -n "$AVAIL_MB" ]]; then + echo " $ICON_RAM Ramdisk: mounted — $(format_mb "$USED_MB") used / $(format_mb "$AVAIL_MB") available ✅" + else + echo " $ICON_RAM Ramdisk: mounted — size unreadable" + fi else echo " $ICON_RAM Ramdisk: NOT mounted" fi @@ -228,9 +232,11 @@ START=$(date +%s) SETUP_SUCCESS=true if mountpoint -q "$RAMDISK_PATH" 2>/dev/null; then - USAGE=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $3}') - AVAIL=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $4}') - log "Ramdisk already mounted — $USAGE used / $AVAIL available" + if read -r _ USED_MB AVAIL_MB <<< "$(disk_df "$RAMDISK_PATH")" && [[ -n "$AVAIL_MB" ]]; then + log "Ramdisk already mounted — $(format_mb "$USED_MB") used / $(format_mb "$AVAIL_MB") available" + else + log "Ramdisk already mounted — size unreadable" + fi log "Skipping mount — verifying symlink and permissions" else if [[ "$DRY_RUN" == true ]]; then diff --git a/Transcodes/transcode_cleanup.sh b/Transcodes/transcode_cleanup.sh index b0d9cc1..eaa7eec 100755 --- a/Transcodes/transcode_cleanup.sh +++ b/Transcodes/transcode_cleanup.sh @@ -195,9 +195,11 @@ if [[ "$SHOW_STATUS" == true ]]; then echo "" if mountpoint -q "$RAMDISK_PATH" 2>/dev/null; then - USAGE=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $3}') - AVAIL=$(df -BG "$RAMDISK_PATH" | awk 'NR==2 {print $4}') - echo " $ICON_RAM Ramdisk: mounted — $USAGE used / $AVAIL available ✅" + if read -r _ USED_MB AVAIL_MB <<< "$(disk_df "$RAMDISK_PATH")" && [[ -n "$AVAIL_MB" ]]; then + echo " $ICON_RAM Ramdisk: mounted — $(format_mb "$USED_MB") used / $(format_mb "$AVAIL_MB") available ✅" + else + echo " $ICON_RAM Ramdisk: mounted — size unreadable" + fi else echo " $ICON_RAM Ramdisk: not mounted" fi