#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2013 Red Hat, Inc. All Rights Reserved. # Copyright (c) 2017 Google, Inc. All Rights Reserved. # # FS QA Test No. 461 # # Shutdown stress test - exercise shutdown codepath with fsstress, # make sure we don't BUG/WARN. Coverage for all fs with shutdown. # seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" here=`pwd` tmp=/tmp/$$ status=1 # failure is the default! # get standard environment, filters and checks . ./common/rc . ./common/filter _cleanup() { cd / _scratch_unmount 2>/dev/null rm -f $tmp.* } trap "_cleanup; exit \$status" 0 1 2 3 15 # real QA test starts here _supported_fs generic _require_scratch_nocheck _require_scratch_shutdown _require_command "$KILLALL_PROG" killall rm -f $seqres.full _scratch_mkfs > $seqres.full 2>&1 _scratch_mount SLEEP_TIME=$((10 * $TIME_FACTOR)) PROCS=$((4 * LOAD_FACTOR)) load_dir=$SCRATCH_MNT/test $FSSTRESS_PROG $FSSTRESS_AVOID -n10000000 -p $PROCS -d $load_dir >> $seqres.full 2>&1 & sleep $SLEEP_TIME sync # now shutdown and unmount sleep 5 _scratch_shutdown $KILLALL_PROG -q $FSSTRESS_PROG wait # for some reason fsstress processes manage to live on beyond the wait? sleep 5 _scratch_unmount echo "Silence is golden" status=0 exit