generic: test MADV_POPULATE_READ with IO errors
[xfstests-dev.git] / tests / xfs / 173
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. 173
6 #
7 # Check the filestreams allocator is doing its job.
8 # Multi-file data streams should always write into seperate AGs.
9 #
10 . ./common/preamble
11 _begin_fstest rw filestreams
12
13 # Import common functions.
14 . ./common/filter
15 . ./common/filestreams
16
17 # real QA test starts here
18 _supported_fs xfs
19
20 _require_scratch
21
22 _check_filestreams_support || _notrun "filestreams not available"
23
24 # test large number of streams, multiple I/O per file, 120s timeout
25 # Because each stream spills over an AG, the stream count needs to
26 # be less than or equal to half the AG count so we don't run out of AGs.
27 _set_stream_timeout_centisecs 12000
28
29 # This test checks the exact point at which the filestreams allocator will
30 # start to allocate space from some AG into more than one stream.  Newer
31 # feature sets (e.g. reflink) have increased the size of the log for small
32 # filesystems, so we make sure there's one more AG than filestreams to
33 # encourage the allocator to skip whichever AG owns the log.
34 #
35 # Exercise 65x 16MB AGs, 32/33 filestreams, 8 files per stream, and 2MB per
36 # file.
37 _test_streams 65 16 34 8 2 1 1 fail
38 _test_streams 65 16 32 8 2 0 1
39 _test_streams 65 16 34 8 2 0 0 fail
40 _test_streams 65 16 32 8 2 1 0
41
42 status=0
43 exit
44