local runningfile="$2"
local scrub_startat="$3"
shift; shift; shift
- local sigint_ret="$(( $(kill -l SIGINT) + 128 ))"
+ local signal_ret="$(( $(kill -l SIGPIPE) + 128 ))"
local scrublog="$tmp.scrub"
while __stress_scrub_running "$scrub_startat" "$runningfile"; do
while __stress_scrub_running "$end" "$runningfile"; do
_scratch_scrub "$@" &> $scrublog
res=$?
- if [ "$res" -eq "$sigint_ret" ]; then
- # Ignore SIGINT because the cleanup function sends
+ if [ "$res" -eq "$signal_ret" ]; then
+ # Ignore SIGPIPE because the cleanup function sends
# that to terminate xfs_scrub
res=0
fi
rm -f "$runningfile"
echo "Cleaning up scrub stress run at $(date)" >> $seqres.full
- # Send SIGINT so that bash won't print a 'Terminated' message that
- # distorts the golden output.
echo "Killing stressor processes at $(date)" >> $seqres.full
_kill_fsstress
- pkill -INT --parent $$ xfs_io >> $seqres.full 2>&1
- pkill -INT --parent $$ fsx >> $seqres.full 2>&1
- pkill -INT --parent $$ xfs_scrub >> $seqres.full 2>&1
+ pkill -PIPE --parent $$ xfs_io >> $seqres.full 2>&1
+ pkill -PIPE --parent $$ fsx >> $seqres.full 2>&1
+ pkill -PIPE --parent $$ xfs_scrub >> $seqres.full 2>&1
# Tests are not allowed to exit with the scratch fs frozen. If we
# started a fs freeze/thaw background loop, wait for that loop to exit
# Wait for the remaining children to exit.
echo "Waiting for children to exit at $(date)" >> $seqres.full
wait
+ echo "Children exited as of $(date)" >> $seqres.full
# Ensure the scratch fs is also writable before we exit.
if [ -n "$__SCRUB_STRESS_REMOUNT_LOOP" ]; then