| 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. | |
| Overlayfs Tools | |
| =============== | |
| A few tests require additional tools. For fsck.overlay [optional], | |
| build and install: | |
| https://github.com/kmxz/overlayfs-tools |