btrfs/057: Fix false alerts due to orphan files
[xfstests-dev.git] / tests / btrfs / 024
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2013 Fujitsu.  All Rights Reserved.
4 #
5 # FS QA Test No. btrfs/024
6 #
7 # btrfs wrong compression type regression test. This test is used to check
8 # the oops will happen when the users write some data into the files whose
9 # compress flag is set but the compression of the fs is disabled.
10 #
11 seq=`basename $0`
12 seqres=$RESULT_DIR/$seq
13 echo "QA output created by $seq"
14
15 here=`pwd`
16 tmp=/tmp/$$
17
18 status=1        # failure is the default!
19
20 _cleanup()
21 {
22         rm -f $tmp.*
23 }
24
25 trap "_cleanup ; exit \$status" 0 1 2 3 15
26
27 # get standard environment, filters and checks
28 . ./common/rc
29 . ./common/filter
30
31 # real QA test starts here
32 _supported_fs btrfs
33 _supported_os Linux
34 _require_scratch
35
36 __workout()
37 {
38         work_file="$SCRATCH_MNT/tmpfile"
39
40         touch $work_file
41         $CHATTR_PROG =c $work_file
42         $XFS_IO_PROG -f -c "pwrite 0 1M" -c "fsync" $work_file | _filter_xfs_io
43 }
44
45 echo "*** test nodatacow"
46 _scratch_mkfs > /dev/null 2>&1
47 _scratch_mount "-o nodatacow"
48 __workout
49 _scratch_unmount
50 _check_scratch_fs
51
52 echo "*** test compress=no"
53 _scratch_mkfs > /dev/null 2>&1
54 _scratch_mount "-o compress=no"
55 __workout
56 _scratch_unmount
57 _check_scratch_fs
58
59 echo "*** test compress-force=no"
60 _scratch_mkfs > /dev/null 2>&1
61 _scratch_mount "-o compress-force=no"
62 __workout
63 _scratch_unmount
64
65 echo "*** done"
66 status=0 ; exit