#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2020 Red Hat Inc. All Rights Reserved. # # FS QA Test No. 617 # # IO_URING soak direct-IO fsx test, copy from generic/521 but reduce the number # fsx ops to limit the testing time to be an auto group test. # seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" here=`pwd` tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { cd / rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # remove previous $seqres.full before test rm -f $seqres.full # real QA test starts here # Modify as appropriate. _supported_fs generic _require_test _require_odirect _require_io_uring # Run fsx for 20 thousand ops or more nr_ops=$((20000 * TIME_FACTOR)) op_sz=$((128000 * LOAD_FACTOR)) file_sz=$((600000 * LOAD_FACTOR)) fsx_file=$TEST_DIR/fsx.$seq min_dio_sz=$(_min_dio_alignment) fsx_args=(-S 0) fsx_args+=(-U) fsx_args+=(-q) fsx_args+=(-N $nr_ops) fsx_args+=(-p $((nr_ops / 100))) fsx_args+=(-o $op_sz) fsx_args+=(-l $file_sz) fsx_args+=(-r $min_dio_sz) fsx_args+=(-t $min_dio_sz) fsx_args+=(-w $min_dio_sz) fsx_args+=(-Z) run_fsx "${fsx_args[@]}" | sed -e '/^fsx.*/d' # success, all done echo "Silence is golden" status=0 exit