blob: 3093bf8c2bf7150ff1b0b7434858b4cac242d672 [file] [log] [blame]
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