| Configuration file with sections | |
| ================================ | |
| Configuration file with sections is useful for running xfstests on multiple | |
| 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 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' must not contain any white space characters. 'value' can contain | |
| any character you want with one simple limitation - characters ' and " can | |
| only appear at the start and end of the 'value', however it is not required. | |
| Note that options are carried between sections so the same options does not | |
| 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] | |
| TEST_DEV=/dev/sda | |
| TEST_DIR=/mnt/test | |
| SCRATCH_DEV=/dev/sdb | |
| 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" | |
| [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 |