@@ -66,9 +66,9 @@ run_test_iterations() {
6666 MONITOR_PID=$( cat " $MONITOR_PID_FILE " 2> /dev/null)
6767
6868 # Populate Metadata
69- # mkdir -p "$TEST_DATA_DIR"
70- # if ! ls -R "$TEST_DATA_DIR" 1> /dev/null 2>&1; then :; fi
71- echo " Not populating metadata!! "
69+ mkdir -p " $TEST_DATA_DIR "
70+ if ! ls -R " $TEST_DATA_DIR " 1> /dev/null 2>&1 ; then : ; fi
71+ echo " Populated metadata for $TEST_DATA_DIR "
7272 # Drop Cache
7373 sync
7474 sudo sh -c ' echo 3 > /proc/sys/vm/drop_caches' 2> /dev/null || true
@@ -86,12 +86,12 @@ run_test_iterations() {
8686 echo " [$( date +' %H:%M:%S' ) ] Starting FIO execution...!!!..."
8787 fi
8888
89- # Run FIO
89+ # Run FIO wrapped in an OS-level timeout (20 minutes / 1200s) to prevent infinite hanging
9090 OUTPUT_FILE=" ${TEST_DIR} /fio_output_${i} .json"
91- if ! fio " $FIO_JOB " $FIO_TIME_ARGS --alloc-size=$(( 2 * 1024 * 1024 )) --output-format=json --output=" $OUTPUT_FILE " ; then
92- echo " ERROR: FIO execution failed" >&2
91+ if ! timeout -k 30 1200 fio " $FIO_JOB " $FIO_TIME_ARGS --alloc-size=$(( 2 * 1024 * 1024 )) --output-format=json --output=" $OUTPUT_FILE " ; then
92+ echo " ERROR: FIO execution failed or OS TIMEOUT REACHED " >&2
9393 stop_monitoring " $MONITOR_PID " " $MONITOR_STOP_FLAG "
94- sudo fusermount -u " $MOUNT_DIR " 2> /dev/null || sudo umount -f " $MOUNT_DIR " 2> /dev/null || true
94+ sudo fusermount -uz " $MOUNT_DIR " 2> /dev/null || sudo umount -l " $MOUNT_DIR " 2> /dev/null || true
9595 return 1
9696 fi
9797
@@ -104,7 +104,7 @@ run_test_iterations() {
104104 stop_monitoring " $MONITOR_PID " " $MONITOR_STOP_FLAG "
105105
106106 # Unmount
107- sudo fusermount -u " $MOUNT_DIR " 2> /dev/null || sudo umount -f " $MOUNT_DIR " 2> /dev/null || true
107+ sudo fusermount -uz " $MOUNT_DIR " 2> /dev/null || sudo umount -l " $MOUNT_DIR " 2> /dev/null || true
108108
109109 # Clean cache again
110110 sync
0 commit comments