2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
10 seqres=$RESULT_DIR/$seq
11 echo "QA output created by $seq"
15 seqfull="$seqres.full"
16 status=1 # failure is the default!
17 # get standard environment, filters and checks
24 _scratch_unmount 2>/dev/null
27 trap "_cleanup; exit \$status" 0 1 2 3 15
32 echo "*** $* ***" >>$seqfull
42 s/Device: *[0-9][0-9]*,[0-9][0-9]*/Device: <DEVICE>/;
43 s/Inode: *[0-9][0-9]*/Inode: <INODE>/;
44 s/Size: *[0-9][0-9]* *Filetype: Dir/Size: <DSIZE> Filetype: Dir/;
48 # real QA test starts here
53 # mkfs cannot create a filesystem with protofiles if realtime is enabled, so
54 # don't run this test if the rtinherit is anywhere in the mkfs options.
55 echo "$MKFS_OPTIONS" | grep -q "rtinherit" && \
56 _notrun "Cannot mkfs with a protofile and -d rtinherit."
62 $here/src/devzero -b 2048 -n 2 -c -v 44 $tempfile.2
71 file_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_0 ---755 3 1 $tempfile
72 file_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_1 ---755 3 1 $tempfile
73 file_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_2 ---755 3 1 $tempfile
74 file_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_3 ---755 3 1 $tempfile
75 file_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_4 ---755 3 1 $tempfile
78 setuid -u-666 0 0 $tempfile
79 setgid --g666 0 0 $tempfile
80 setugid -ug666 0 0 $tempfile
81 block_device b--012 3 1 161 162
82 char_device c--345 3 1 177 178
84 symlink l--123 0 0 bigfile
85 : a file we actually read
86 bigfile ---666 3 0 $tempfile.2
93 _fail "failed to create test protofile"
98 echo "*** create FS version $1"
99 VERSION="-n version=$1"
102 _scratch_unmount >/dev/null 2>&1
105 _scratch_mkfs_xfs $VERSION -p $protofile >>$seqfull 2>&1 \
106 || _fail "mkfs failed"
113 _try_scratch_mount >>$seqfull 2>&1 \
114 || _fail "mount failed"
117 (cd $SCRATCH_MNT ; find . | LC_COLLATE=POSIX sort \
118 | grep -v ".use_space" \
119 | xargs $here/src/lstat64 | _filter_stat)
120 diff -q $SCRATCH_MNT/bigfile $tempfile.2 \
121 || _fail "bigfile corrupted"
123 echo "*** unmount FS"
125 _scratch_unmount >>$seqfull 2>&1 \
126 || _fail "umount failed"