From 1a4b7ee28bf7413af6513fb45ad0d0736048f866 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Sun, 16 Dec 2018 17:11:34 -0800 Subject: reset upstream subtrees to yocto 2.6 Reset the following subtrees on thud HEAD: poky: 87e3a9739d meta-openembedded: 6094ae18c8 meta-security: 31dc4e7532 meta-raspberrypi: a48743dc36 meta-xilinx: c42016e2e6 Also re-apply backports that didn't make it into thud: poky: 17726d0 systemd-systemctl-native: handle Install wildcards meta-openembedded: 4321a5d libtinyxml2: update to 7.0.1 042f0a3 libcereal: Add native and nativesdk classes e23284f libcereal: Allow empty package 030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG 179a1b9 gtest: update to 1.8.1 Squashed OpenBMC subtree compatibility updates: meta-aspeed: Brad Bishop (1): aspeed: add yocto 2.6 compatibility meta-ibm: Brad Bishop (1): ibm: prepare for yocto 2.6 meta-ingrasys: Brad Bishop (1): ingrasys: set layer compatibility to yocto 2.6 meta-openpower: Brad Bishop (1): openpower: set layer compatibility to yocto 2.6 meta-phosphor: Brad Bishop (3): phosphor: set layer compatibility to thud phosphor: libgpg-error: drop patches phosphor: react to fitimage artifact rename Ed Tanous (4): Dropbear: upgrade options for latest upgrade yocto2.6: update openssl options busybox: remove upstream watchdog patch systemd: Rebase CONFIG_CGROUP_BPF patch Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7 Signed-off-by: Brad Bishop --- .../volatile-binds/files/mount-copybind | 30 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'poky/meta/recipes-core/volatile-binds') diff --git a/poky/meta/recipes-core/volatile-binds/files/mount-copybind b/poky/meta/recipes-core/volatile-binds/files/mount-copybind index 2aeaf84ddb..fddf520053 100755 --- a/poky/meta/recipes-core/volatile-binds/files/mount-copybind +++ b/poky/meta/recipes-core/volatile-binds/files/mount-copybind @@ -8,7 +8,10 @@ if [ $# -lt 2 ]; then exit 1 fi +# e.g. /var/volatile/lib spec=$1 + +# e.g. /var/lib mountpoint=$2 if [ $# -gt 2 ]; then @@ -20,15 +23,34 @@ fi [ -n "$options" ] && options=",$options" mkdir -p "${spec%/*}" + if [ -d "$mountpoint" ]; then - if [ ! -d "$spec" ]; then + + if [ -d "$spec" ]; then + specdir_existed=yes + else + specdir_existed=no mkdir "$spec" - cp -pPR "$mountpoint"/. "$spec/" + fi + + # Fast version of calculating `dirname ${spec}`/.`basename ${spec}`-work + overlay_workdir="${spec%/*}/.${spec##*/}-work" + mkdir "${overlay_workdir}" + + # Try to mount using overlay, which is must faster than copying files. + # If that fails, fall back to slower copy. + if ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir" "$mountpoint" > /dev/null 2>&1; then + + if [ "$specdir_existed" != "yes" ]; then + cp -pPR "$mountpoint"/. "$spec/" + fi + + mount -o "bind$options" "$spec" "$mountpoint" fi elif [ -f "$mountpoint" ]; then if [ ! -f "$spec" ]; then cp -pP "$mountpoint" "$spec" fi -fi -mount -o "bind$options" "$spec" "$mountpoint" + mount -o "bind$options" "$spec" "$mountpoint" +fi -- cgit v1.2.3