aboutsummaryrefslogtreecommitdiffstats
path: root/README.overlay
blob: ec4671c39698e48640132023183bccf426e213f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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.