xfs/004: don't fail test due to realtime files
[xfstests-dev.git] / tests / xfs / 005
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2014 Red Hat, Inc.  All Rights Reserved.
4 #
5 # FS QA Test No. 005
6 #
7 # Test that a bad crc on a primary V5 superblock will fail the mount
8 #
9 # 10e6e65 xfs: be more forgiving of a v4 secondary sb w/ junk in v5 fields
10 # inadvertently caused primary SB CRC failures to not error out, this
11 # is a regression test for that fix.
12 #
13 seq=`basename $0`
14 seqres=$RESULT_DIR/$seq
15 echo "QA output created by $seq"
16
17 here=`pwd`
18 tmp=/tmp/$$
19 status=1        # failure is the default!
20 trap "_cleanup; exit \$status" 0 1 2 3 15
21
22 _cleanup()
23 {
24     cd /
25     rm -f $tmp.*
26 }
27
28 # get standard environment, filters and checks
29 . ./common/rc
30 . ./common/filter
31
32 # Modify as appropriate.
33 _supported_fs xfs
34
35 _require_scratch_nocheck
36 _require_xfs_mkfs_crc
37
38 rm -f $seqres.full
39
40 _scratch_mkfs_xfs -m crc=1 >> $seqres.full 2>&1 || _fail "mkfs failed"
41
42 # Zap the crc.  xfs_db updates the CRC post-write, so poke it directly
43 $XFS_IO_PROG -c "pwrite 224 4" -c fsync $SCRATCH_DEV | _filter_xfs_io
44
45 # should FAIL, the crc is bad; golden output contains mount failure
46 _try_scratch_mount 2>&1 | _filter_error_mount
47
48 # success, all done
49 status=0
50 exit