|  |  | 
|  | To run xfstest on overlayfs, configure the variables of TEST and SCRATCH | 
|  | partitions to be used as the "base fs" and run './check -overlay'. | 
|  |  | 
|  | For example, the following config file can be used to run tests on | 
|  | xfs test/scratch partitions: | 
|  |  | 
|  | TEST_DEV=/dev/sda5 | 
|  | TEST_DIR=/mnt/test | 
|  | SCRATCH_DEV=/dev/sda6 | 
|  | SCRATCH_MNT=/mnt/scratch | 
|  | FSTYP=xfs | 
|  |  | 
|  | Using the same config file, but executing './check -overlay' will | 
|  | use the same partitions as base fs for overlayfs directories | 
|  | and set TEST_DIR/SCRATCH_MNT values to overlay mount points, i.e.: | 
|  | /mnt/test/ovl-mnt and /mnt/scratch/ovl-mnt, for the context of | 
|  | individual tests. | 
|  |  | 
|  | './check -overlay' does not support mkfs and fsck on the base fs, so | 
|  | the base fs should be pre-formatted before starting the -overlay run. | 
|  | An easy way to accomplish this is by running './check <some test>' once, | 
|  | before running './check -overlay'. | 
|  |  | 
|  | './check -overlay' support check overlay test and scratch dirs, | 
|  | OVERLAY_FSCK_OPTIONS should be set instead of FSCK_OPTIONS if fsck | 
|  | options need to given directly. | 
|  |  | 
|  | Because of the lack of mkfs support, multi-section config files are only | 
|  | partly supported with './check -overlay'. Only multi-section files that | 
|  | do not change FSTYP and MKFS_OPTIONS can be safely used with -overlay. | 
|  |  | 
|  | For example, the following multi-section config file can be used to | 
|  | run overlay tests on the same base fs, but with different mount options, and on | 
|  | top of idmapped mounts: | 
|  |  | 
|  | [xfs] | 
|  | TEST_DEV=/dev/sda5 | 
|  | TEST_DIR=/mnt/test | 
|  | SCRATCH_DEV=/dev/sda6 | 
|  | SCRATCH_MNT=/mnt/scratch | 
|  | FSTYP=xfs | 
|  |  | 
|  | [xfs_pquota] | 
|  | MOUNT_OPTIONS="-o pquota" | 
|  | TEST_FS_MOUNT_OPTS="-o noatime" | 
|  | OVERLAY_MOUNT_OPTIONS="-o redirect_dir=off" | 
|  | OVERLAY_FSCK_OPTIONS="-n -o redirect_dir=off" | 
|  |  | 
|  | [idmapped] | 
|  | IDMAPPED_MOUNTS=true | 
|  |  | 
|  | In the example above, MOUNT_OPTIONS will be used to mount the base scratch fs, | 
|  | TEST_FS_MOUNT_OPTS will be used to mount the base test fs, | 
|  | OVERLAY_MOUNT_OPTIONS will be used to mount both test and scratch overlay and | 
|  | OVERLAY_FSCK_OPTIONS will be used to check both test and scratch overlay. | 
|  |  | 
|  |  | 
|  | Unionmount Testsuite | 
|  | ==================== | 
|  |  | 
|  | xfstests can be used as a test harness to run unionmount testsuite test cases | 
|  | and provide extended test coverage for overlayfs. | 
|  |  | 
|  | To enable running unionmount testsuite, clone the git repository from: | 
|  | https://github.com/amir73il/unionmount-testsuite.git | 
|  | under the xfstests src directory, or set the environment variable | 
|  | UNIONMOUNT_TESTSUITE to the local path where the repository was cloned. | 
|  |  | 
|  | Run './check -overlay -g overlay/union' to execute all the unionmount testsuite | 
|  | test cases. |