]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
overlay: add helper for mounting rdonly overlay
authorAmir Goldstein <amir73il@gmail.com>
Mon, 10 Jul 2023 09:07:10 +0000 (11:07 +0200)
committerZorro Lang <zlang@kernel.org>
Sun, 23 Jul 2023 04:56:22 +0000 (12:56 +0800)
Allow passing empty upperdir to _overlay_mount_dirs().

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Alexander Larsson <alexl@redhat.com>
Reviewed-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Zorro Lang <zlang@kernel.org>
common/overlay

index 20cafeb157b1a50b80ec298dc80a2e1e1a37ff87..452b3b0994f3bca6080c2167e951957d22838ffc 100644 (file)
@@ -17,15 +17,19 @@ if [ -n "$OVL_BASE_FSTYP" ];then
 fi
 
 # helper function to do the actual overlayfs mount operation
+# accepts "-" as upperdir for non-upper overlayfs
 _overlay_mount_dirs()
 {
        local lowerdir=$1
        local upperdir=$2
        local workdir=$3
        shift 3
+       local diropts="-olowerdir=$lowerdir"
 
-       $MOUNT_PROG -t overlay -o lowerdir=$lowerdir -o upperdir=$upperdir \
-                   -o workdir=$workdir `_common_dev_mount_options $*`
+       [ -n "$upperdir" ] && [ "$upperdir" != "-" ] && \
+               diropts+=",upperdir=$upperdir,workdir=$workdir"
+
+       $MOUNT_PROG -t overlay $diropts `_common_dev_mount_options $*`
 }
 
 # Mount with same options/mnt/dev of scratch mount, but optionally