xfs: skip tests that rely on allocation behaviors of the data device
[xfstests-dev.git] / tests / xfs / 171
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2007 Silicon Graphics, Inc.  All Rights Reserved.
4 #
5 # FSQA Test No. 171
6 #
7 # Check the filestreams allocator is doing its job.
8 # Multi-file data streams should always write into seperate AGs.
9 #
10 seq=`basename $0`
11 seqres=$RESULT_DIR/$seq
12 echo "QA output created by $seq"
13
14 here=`pwd`
15 tmp=/tmp/$$
16 rm -f $seqres.full
17 status=1    # failure is the default!
18 trap "_cleanup; exit \$status" 0 1 2 3 15
19
20 _cleanup()
21 {
22         cd /
23         rm -f $tmp.*
24 }
25
26 # get standard environment, filters and checks
27 . ./common/rc
28 . ./common/filter
29 . ./common/filestreams
30
31 # real QA test starts here
32 _supported_fs xfs
33 _supported_os Linux
34
35 _require_scratch
36 _require_no_rtinherit
37
38 _check_filestreams_support || _notrun "filestreams not available"
39
40 # test large numbers of files, single I/O per file, 120s timeout
41 # Get close to filesystem full.
42 # 128 = ENOSPC
43 # 120 = 93.75% full, gets repeatable failures
44 # 112 = 87.5% full, should reliably succeed but doesn't *FIXME*
45 # 100 = 78.1% full, should reliably succeed
46 _set_stream_timeout_centisecs 12000
47
48 _test_streams 64 16 8 100 1 1 0
49 _test_streams 64 16 8 100 1 1 1
50 _test_streams 64 16 8 100 1 0 0
51 _test_streams 64 16 8 100 1 0 1
52
53 status=0
54 exit
55