| #! /bin/bash |
| # SPDX-License-Identifier: GPL-2.0 |
| # Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved. |
| # |
| # FS QA Test No. 117 |
| # |
| # Attempt to cause filesystem corruption with serial fsstresses doing |
| # extended attributes writes - pv 940655 |
| # |
| . ./common/preamble |
| _begin_fstest attr auto quick |
| |
| # seed and options for fsstress known to cause curruptions |
| seed=1122413794 |
| fss_ops=" -z \ |
| -f attr_remove=100 \ |
| -f attr_set=100 \ |
| -f chown=3 \ |
| -f creat=4 \ |
| -f dread=4 \ |
| -f dwrite=4 \ |
| -f fdatasync=1 \ |
| -f fsync=1 \ |
| -f getdents=1 \ |
| -f link=1 \ |
| -f mkdir=2 \ |
| -f mknod=2 \ |
| -f read=1 \ |
| -f readlink=1 \ |
| -f rename=2 \ |
| -f rmdir=1 \ |
| -f setxattr=1 \ |
| -f stat=1 \ |
| -f symlink=2 \ |
| -f sync=1 \ |
| -f truncate=2 \ |
| -f unlink=1 \ |
| -f write=4 \ |
| -s $seed \ |
| -m 31 -n 1000 -p 1" |
| |
| ITERATIONS=10 |
| |
| # Import common functions. |
| . ./common/filter |
| . ./common/attr |
| |
| # real QA test starts here |
| _supported_fs generic |
| |
| _require_scratch |
| _require_attrs |
| |
| _scratch_unmount >/dev/null 2>&1 |
| echo "*** MKFS ***" >>$seqres.full |
| echo "" >>$seqres.full |
| _scratch_mkfs >>$seqres.full 2>&1 \ |
| || _fail "mkfs failed" |
| _scratch_mount |
| |
| mkdir -p $SCRATCH_MNT/fsstress |
| |
| echo |
| echo Running fsstress in serial: |
| i=0 |
| while [ $i -lt $ITERATIONS ]; do |
| echo fsstress iteration: $i | tee -a $seqres.full |
| $FSSTRESS_PROG \ |
| -d $SCRATCH_MNT/fsstress \ |
| $fss_ops -S c >>$seqres.full 2>&1 |
| |
| let i=$i+1 |
| done |
| |
| cd / |
| _scratch_unmount |
| echo |
| echo Checking filesystem |
| |
| status=$? |
| exit |