#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2007 Silicon Graphics, Inc. All Rights Reserved. # # FSQA Test No. 173 # # Check the filestreams allocator is doing its job. # Multi-file data streams should always write into seperate AGs. # . ./common/preamble _begin_fstest rw filestreams # Import common functions. . ./common/filter . ./common/filestreams # real QA test starts here _supported_fs xfs _require_scratch _check_filestreams_support || _notrun "filestreams not available" # test large number of streams, multiple I/O per file, 120s timeout # Because each stream spills over an AG, the stream count needs to # be less than or equal to half the AG count so we don't run out of AGs. _set_stream_timeout_centisecs 12000 # This test checks the exact point at which the filestreams allocator will # start to allocate space from some AG into more than one stream. Newer # feature sets (e.g. reflink) have increased the size of the log for small # filesystems, so we make sure there's one more AG than filestreams to # encourage the allocator to skip whichever AG owns the log. # # Exercise 65x 16MB AGs, 32/33 filestreams, 8 files per stream, and 2MB per # file. _test_streams 65 16 34 8 2 1 1 fail _test_streams 65 16 32 8 2 0 1 _test_streams 65 16 34 8 2 0 0 fail _test_streams 65 16 32 8 2 1 0 status=0 exit