| 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 |