#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved. # # FS QA Test No. 017 # # test remount ro - pv 795642 # seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" here=`pwd` tmp=/tmp/$$ status=1 trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15 _cleanup() { echo "*** unmount" _scratch_unmount 2>/dev/null } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _supported_fs xfs _supported_os Linux _require_scratch # xfs_db will OOM kill the machine if you don't have huge amounts of RAM, so # don't run this on large filesystems. _require_no_large_scratch_dev echo "*** init FS" rm -f $seqres.full _scratch_unmount >/dev/null 2>&1 echo "*** MKFS ***" >>$seqres.full echo "" >>$seqres.full _scratch_mkfs_xfs >>$seqres.full 2>&1 \ || _fail "mkfs failed" _scratch_mount echo "*** test" for l in 0 1 2 3 4 do echo " *** test $l" FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -n 1000 $FSSTRESS_AVOID` $FSSTRESS_PROG $FSSTRESS_ARGS >>$seqres.full _try_scratch_mount -o remount,ro \ || _fail "remount ro failed" echo "" >>$seqres.full echo "*** xfs_logprint ***" >>$seqres.full echo "" >>$seqres.full _scratch_xfs_logprint -tb | tee -a $seqres.full \ | head | grep -q "" || _fail "DIRTY LOG" echo "" >>$seqres.full echo "*** XFS_CHECK ***" >>$seqres.full echo "" >>$seqres.full _scratch_xfs_check >>$seqres.full 2>&1 \ || _fail "xfs_check failed" _try_scratch_mount -o remount,rw \ || _fail "remount rw failed" done echo "*** done" # happy exit rm -f $seqres.full status=0 exit 0