summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/volatile-binds
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@microsoft.com>2022-03-25 18:40:32 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-26 09:33:32 +0000
commit52cad1fe64c413290c3679f977292ca3b3c30d29 (patch)
tree3d50c44aa5e487c6548e4fa21f967df83be6b254 /meta/recipes-core/volatile-binds
parent23ef8946410d539d85fcbdaf818ce01e4a658716 (diff)
downloadpoky-52cad1fe64c413290c3679f977292ca3b3c30d29.tar.gz
mount-copybind: add MOUNT_COPYBIND_AVOID_OVERLAYFS env var to skip OverlayFS
In some cases we don't want to even attempt to set up OverlayFS, for example because SELinux in enforcing mode would kill the process attempting to use the mount. See: https://lore.kernel.org/all/CA+FmFJBDwt52Z-dVGfuUcnRMiMtGPhK4cCQJ=J_fg0r3x-b6ng@mail.gmail.com/T/#mef98aa406324096d1889d3d467251f30456f403c If MOUNT_COPYBIND_AVOID_OVERLAYFS=1 is set, skip directly to copy and bind mount. (From OE-Core rev: a8e7dca69054798b1c9843a0de889cef3e261c4f) Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/volatile-binds')
-rwxr-xr-xmeta/recipes-core/volatile-binds/files/mount-copybind5
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/recipes-core/volatile-binds/files/mount-copybind b/meta/recipes-core/volatile-binds/files/mount-copybind
index 8bbb406b3a..ddc4357615 100755
--- a/meta/recipes-core/volatile-binds/files/mount-copybind
+++ b/meta/recipes-core/volatile-binds/files/mount-copybind
@@ -2,6 +2,9 @@
2# 2#
3# Perform a bind mount, copying existing files as we do so to ensure the 3# Perform a bind mount, copying existing files as we do so to ensure the
4# overlaid path has the necessary content. 4# overlaid path has the necessary content.
5# If the target is a directory and overlayfs is available (and the environment
6# variable MOUNT_COPYBIND_AVOID_OVERLAYFS=1 is not set), then an overlay mount
7# will be attempted first.
5 8
6if [ $# -lt 2 ]; then 9if [ $# -lt 2 ]; then
7 echo >&2 "Usage: $0 spec mountpoint [OPTIONS]" 10 echo >&2 "Usage: $0 spec mountpoint [OPTIONS]"
@@ -51,7 +54,7 @@ if [ -d "$mountpoint" ]; then
51 mountcontext=",rootcontext=$(matchpathcon -n "$mountpoint")" 54 mountcontext=",rootcontext=$(matchpathcon -n "$mountpoint")"
52 fi 55 fi
53 fi 56 fi
54 if ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir""$mountcontext" "$mountpoint" > /dev/null 2>&1; then 57 if [ "$MOUNT_COPYBIND_AVOID_OVERLAYFS" = 1 ] || ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir""$mountcontext" "$mountpoint" > /dev/null 2>&1; then
55 58
56 if [ "$specdir_existed" != "yes" ]; then 59 if [ "$specdir_existed" != "yes" ]; then
57 cp -aPR "$mountpoint"/. "$spec/" 60 cp -aPR "$mountpoint"/. "$spec/"