fstests: move test group info to test files
[xfstests-dev.git] / tests / xfs / 201
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2009 Christoph Hellwig.
4 #
5 # FS QA Test No. 201
6 #
7 # Test out the infamous xfs_btree_delrec corruption.
8 #
9 # Only happens on 32-bit kernels without CONFIG_LBD, but it should be harmless
10 # to run this everywhere.
11 #
12 . ./common/preamble
13 _begin_fstest metadata auto quick
14
15 # Override the default cleanup function.
16 _cleanup()
17 {
18         _scratch_unmount
19 }
20
21 # Import common functions.
22 . ./common/filter
23
24 # real QA test starts here
25 _supported_fs xfs
26
27 file=$SCRATCH_MNT/f
28
29 min_align=`_min_dio_alignment $SCRATCH_DEV`
30
31 do_pwrite()
32 {
33         offset=`expr $1 \* $min_align`
34         end=`expr $2 \* $min_align`
35         length=`expr $end - $offset`
36
37         $XFS_IO_PROG -d -f $file -c "pwrite $offset $length" >/dev/null
38 }
39
40 _require_scratch
41
42 _scratch_mkfs_xfs >/dev/null 2>&1
43 _scratch_mount
44
45 # Create a fragmented file
46 do_pwrite 30792 31039
47 do_pwrite 30320 30791
48 do_pwrite 29688 30319
49 do_pwrite 29536 29687
50 do_pwrite 27216 29535
51 do_pwrite 24368 27215
52 do_pwrite 21616 24367
53 do_pwrite 20608 21615
54 do_pwrite 19680 20607
55 do_pwrite 19232 19679
56 do_pwrite 17840 19231
57 do_pwrite 16928 17839
58 do_pwrite 15168 16927
59 do_pwrite 14048 15167
60 do_pwrite 12152 14047
61 do_pwrite 11344 12151
62 do_pwrite 8792 11343
63 do_pwrite 6456 8791
64 do_pwrite 5000 6455
65 do_pwrite 1728 4999
66 do_pwrite 0 1727
67
68 sync
69 sync
70
71 # and truncate it again
72 > $SCRATCH_MNT/bigfile
73
74 # success, all done
75 echo "*** done"
76 status=0