file systems, or multiple file system setups in a single run without any
help of external scripts.
+
+Syntax
+------
+
Syntax for defining a section is the following:
-[section_name]
+ [section_name]
Section name should consist of alphanumeric characters and '_'. Anything
else is forbidden and the section will not be recognised.
Each section in the configuration file should contain options in the format
-OPTION=value
+ OPTION=value
'OPTION' must not contain any white space characters. 'value' can contain
any character you want with one simple limitation - characters ' and " can
have to be specified in each and every sections. However caution should be
exercised not to leave unwanted options set from previous sections.
+
+Results
+-------
+
For every section xfstests will run with specified options and will produce
separate results in the '$RESULT_BASE/$section_name' directory.
+
+Different mount options
+-----------------------
+
+Specifying different mount options in difference config sections is allowed.
+When TEST_FS_MOUNT_OPTS differs in the following section TEST_DEV will be
+remounted with new TEST_FS_MOUNT_OPTS automatically before running the test.
+
+
+Multiple file systems
+---------------------
+
+Having different file systems in different config sections is allowed. When
+FSTYP differs in the following section the FSTYP file system will be created
+automatically before running the test.
+
+Note that if TEST_FS_MOUNT_OPTS, MOUNT_OPTIONS, MKFS_OPTIONS, or FSCK_OPTIONS
+are not directly specified in the section it will be reset to the default for a
+given file system.
+
+You can also force the file system recreation by specifying RECREATE_TEST_DEV.
+
+Run specified section only
+--------------------------
+
+Specifying '-s' argument with section name will run only the section
+specified. The '-s' argument can be specified multiple times to allow multiple
+sections to be run.
+
+The options are still carried between section, that includes the sections
+which are not going to be run. So you can do something like
+
+[ext4]
+TEST_DEV=/dev/sda1
+TEST_DIR=/mnt/test
+SCRATCH_DEV=/dev/sdb1
+SCRATCH_MNT=/mnt/test1
+FSTYP=ext4
+
+[xfs]
+FSTYP=xfs
+
+[btrfs]
+FSTYP=btrfs
+
+
+and run
+
+./check -s xfs -s btrfs
+
+to check xfs and btrfs only. All the devices and mounts are still going to
+be parsed from the section [ext4].
+
+Example
+-------
+
Here is an example of config file with sections:
[ext4_4k_block_size]
SCRATCH_MNT=/mnt/test1
MKFS_OPTIONS="-q -F -b4096"
FSTYP=ext4
+RESULT_BASE="`pwd`/results/`date +%d%m%y_%H%M%S`"
[ext4_1k_block_size]
MKFS_OPTIONS="-q -F -b1024"
[ext4_nojournal]
MKFS_OPTIONS="-q -F -b4096 -O ^has_journal"
-[ext4_discard_ssd]
-MKFS_OPTIONS="-q -F -b4096"
-TEST_DEV=/dev/sdc
-SCRATCH_DEV=/dev/sdd
-MOUNT_OPTIONS="-o discard"
+[xfs_filesystem]
+MKFS_OPTIONS="-f"
+FSTYP=xfs
+
+[ext3_filesystem]
+FSTYP=ext3
+MOUNT_OPTIONS="-o noatime"
+
+[cephfs]
+TEST_DIR=/mnt/test
+TEST_DEV=192.168.14.1:6789:/
+TEST_FS_MOUNT_OPTS="-o name=admin,secret=AQDuEBtYKEYRINGSECRETriSC8YJGDZsQHcr7g=="
+FSTYP="ceph"
+
+[glusterfs]
+FSTYP=glusterfs
+TEST_DIR=/mnt/gluster/test
+TEST_DEV=192.168.1.1:testvol
+SCRATCH_MNT=/mnt/gluster/scratch
+SCRATCH_DEV=192.168.1.1:scratchvol