]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
overlay: create helper _overlay_scratch_mount_opts()
authorAmir Goldstein <amir73il@gmail.com>
Wed, 6 Dec 2023 12:18:57 +0000 (14:18 +0200)
committerZorro Lang <zlang@kernel.org>
Sun, 14 Jan 2024 12:39:09 +0000 (20:39 +0800)
The new overlayfs mount options lowerdir+,datadir+ don't fit well
into any of the existing _overlay_scratch_mount* helpers.
Add this new helper to reduce a common pattern of custom mount options.

Suggested-by: Zorro Lang <zlang@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
common/overlay
tests/overlay/011
tests/overlay/035
tests/overlay/052
tests/overlay/053
tests/overlay/062
tests/overlay/079
tests/overlay/085

index ea1eb7b114a8363aebffc2e0e26cbe6983fc52ad..faa9339a6477f71c30ca8a0e7e9f9afcbedf9e0e 100644 (file)
@@ -32,6 +32,12 @@ _overlay_mount_dirs()
        $MOUNT_PROG -t overlay $diropts `_common_dev_mount_options $*`
 }
 
+# Mount with mnt/dev of scratch mount and custom mount options
+_overlay_scratch_mount_opts()
+{
+       $MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT $*
+}
+
 # Mount with same options/mnt/dev of scratch mount, but optionally
 # with different lower/upper/work dirs
 _overlay_scratch_mount_dirs()
@@ -254,7 +260,7 @@ _require_scratch_overlay_lowerdir_add_layers()
        local datadir="$OVL_BASE_SCRATCH_MNT/$OVL_LOWER"
 
        _scratch_mkfs > /dev/null 2>&1
-       $MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+       _overlay_scratch_mount_opts \
                -o"lowerdir+=$lowerdir,datadir+=$datadir" \
                -o"redirect_dir=follow,metacopy=on" > /dev/null 2>&1 || \
                _notrun "overlay lowerdir+,datadir+ not supported on ${SCRATCH_DEV}"
index 20812d8816f0e6afaa6ab12ac05d229df28a4153..09a950baf8e6ae86791bb4d9bfe975c0da637fc2 100755 (executable)
@@ -37,7 +37,7 @@ $SETFATTR_PROG -n "trusted.overlay.opaque" -v "y" $upperdir/testdir
 # $upperdir overlaid on top of $lowerdir, so that "trusted.overlay.opaque"
 # xattr should be honored and should not be listed
 # mount readonly, because there's no upper and workdir
-$MOUNT_PROG -t overlay -o ro -o lowerdir=$upperdir:$lowerdir $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT
+_overlay_scratch_mount_opts -o ro -o lowerdir=$upperdir:$lowerdir
 
 # Dump trusted.overlay xattr, we should not see the "opaque" xattr
 _getfattr -d -m overlay $SCRATCH_MNT/testdir
index 8cd76979808deb9e664bca6fe6e17842887deea6..f4c981ad5bdb87c9d43139ffa88a31f43b9ba070 100755 (executable)
@@ -42,8 +42,7 @@ mkdir -p $lowerdir1 $lowerdir2 $upperdir $workdir
 
 # Mount overlay with lower layers only.
 # Verify that overlay is mounted read-only and that it cannot be remounted rw.
-$MOUNT_PROG -t overlay -o"lowerdir=$lowerdir2:$lowerdir1" \
-                       $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT
+_overlay_scratch_mount_opts -o"lowerdir=$lowerdir2:$lowerdir1"
 touch $SCRATCH_MNT/foo 2>&1 | _filter_scratch
 $MOUNT_PROG -o remount,rw $SCRATCH_MNT 2>&1 | _filter_ro_mount
 $UMOUNT_PROG $SCRATCH_MNT
index da8c645b31e692446fdb81162cc50426aa7723ec..6abe2e018b56977f6aaf618001d33910185e4ce6 100755 (executable)
@@ -133,7 +133,7 @@ unmount_dirs
 
 # Check encode/decode/read of lower file handles on lower layers only r/o overlay.
 # For non-upper overlay mount, nfs_export requires disabling redirect_dir.
-$MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+_overlay_scratch_mount_opts \
                        -o ro,redirect_dir=nofollow,nfs_export=on,lowerdir=$middle:$lower
 test_file_handles $SCRATCH_MNT/lowertestdir -rp
 test_file_handles $SCRATCH_MNT/lowertestdir/subdir -rp
@@ -144,7 +144,7 @@ unmount_dirs
 # Overlay lookup cannot follow the redirect from $upper/lowertestdir.new to
 # $lower/lowertestdir. Instead, we mount an overlay subtree rooted at these
 # directories.
-$MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+_overlay_scratch_mount_opts \
                -o ro,redirect_dir=nofollow,nfs_export=on,lowerdir=$upper/lowertestdir.new:$lower/lowertestdir
 test_file_handles $SCRATCH_MNT -r
 test_file_handles $SCRATCH_MNT/subdir -rp
index dfa29d01fdff2baa27b048eea5108b595632611e..cf94f930208b050fe8650657f78496af3cedf205 100755 (executable)
@@ -162,7 +162,7 @@ unmount_dirs
 
 # Check encode/decode/read of lower file handles on lower layers only r/o overlay.
 # For non-upper overlay mount, nfs_export requires disabling redirect_dir.
-$MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+_overlay_scratch_mount_opts \
                        -o ro,redirect_dir=nofollow,nfs_export=on,lowerdir=$middle:$lower
 test_file_handles $SCRATCH_MNT/lowertestdir -rp
 test_file_handles $SCRATCH_MNT/lowertestdir/subdir -rp
@@ -173,7 +173,7 @@ unmount_dirs
 # Overlay lookup cannot follow the redirect from $upper/lowertestdir.new to
 # $lower/lowertestdir. Instead, we mount an overlay subtree rooted at these
 # directories.
-$MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+_overlay_scratch_mount_opts \
                -o ro,redirect_dir=nofollow,nfs_export=on,lowerdir=$upper/lowertestdir.new:$lower/lowertestdir
 test_file_handles $SCRATCH_MNT -r
 test_file_handles $SCRATCH_MNT/subdir -rp
index 04e13e46a8b57b991514226320df48d5506e9311..a4e9560a3505cc06604aabe2bc0334375d6c4eaa 100755 (executable)
@@ -65,7 +65,7 @@ create_test_files $lowertestdir
 $MOUNT_PROG --bind $lowertestdir $lowertestdir
 
 # For non-upper overlay mount, nfs_export requires disabling redirect_dir.
-$MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+_overlay_scratch_mount_opts \
        -o ro,redirect_dir=nofollow,nfs_export=on,lowerdir=$lower:$lower2
 
 # Decode an overlay directory file handle, whose underlying lower dir dentry
index 078ee816dc6b30ecd197cee7d9db558928ae2231..f28fc31355efbb197db4306ebaf6e0d8e0cff81e 100755 (executable)
@@ -141,7 +141,7 @@ mount_overlay()
 {
        local _lowerdir=$1 _datadir2=$2 _datadir=$3
 
-       $MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+       _overlay_scratch_mount_opts \
                -o"lowerdir=$_lowerdir::$_datadir2::$_datadir" \
                -o"upperdir=$upperdir,workdir=$workdir" \
                -o redirect_dir=on,metacopy=on
@@ -151,7 +151,7 @@ mount_ro_overlay()
 {
        local _lowerdir=$1 _datadir2=$2 _datadir=$3
 
-       $MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+       _overlay_scratch_mount_opts \
                -o"lowerdir=$_lowerdir::$_datadir2::$_datadir" \
                -o redirect_dir=follow,metacopy=on
 }
index 07a32c24c1aee5a44f71191d4f4a02741ab4c21c..0f4e4b06d4ad8e01537b1b0a393ab684ef0443ef 100755 (executable)
@@ -142,7 +142,7 @@ mount_overlay()
 {
        local _lowerdir=$1 _datadir2=$2 _datadir=$3
 
-       $MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+       _overlay_scratch_mount_opts \
                -o"lowerdir+=$_lowerdir,datadir+=$_datadir2,datadir+=$_datadir" \
                -o"upperdir=$upperdir,workdir=$workdir" \
                -o redirect_dir=on,metacopy=on
@@ -152,7 +152,7 @@ mount_ro_overlay()
 {
        local _lowerdir=$1 _datadir2=$2 _datadir=$3
 
-       $MOUNT_PROG -t overlay $OVL_BASE_SCRATCH_MNT $SCRATCH_MNT \
+       _overlay_scratch_mount_opts \
                -o"lowerdir+=$_lowerdir,datadir+=$_datadir2,datadir+=$_datadir" \
                -o redirect_dir=follow,metacopy=on
 }