From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6629320495720300544 X-Received: by 2002:a5d:4811:: with SMTP id l17mr2504436wrq.29.1543920562307; Tue, 04 Dec 2018 02:49:22 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:3581:: with SMTP id c123ls3201197wma.9.gmail; Tue, 04 Dec 2018 02:49:21 -0800 (PST) X-Google-Smtp-Source: AFSGD/XeXKFKrSNPCBNE2BCtiiv6/WNavT+mlisj7zSu35Rn1RNsvBFukEZagyM0Z/qGRVuKS6x3 X-Received: by 2002:a1c:aa47:: with SMTP id t68mr191490wme.6.1543920561765; Tue, 04 Dec 2018 02:49:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543920561; cv=none; d=google.com; s=arc-20160816; b=t/ylYNS7hem4C7TSIapJP0j7GkFS5QHvDYqbdcvSq/2JDFP2iAxBMT3gDk/mjZfQHr riSiypmFyinSSelxT1+219TQYd13uIwZ/gUwpq9KaRnJGmBZiYL0o3u0NdUmbBMaCX+l m5ilzk52KXVuxPUmRBjc7MWs5ah8U/OpoeWRcPiNDx7S18rFbDv8jhOWXaHYnJyrOcD1 JClPbvcr54SDGHs/UfUthrmU9I3BLqVoeTLYTzHxTD9agmLdYHeAaDLq8IdXPerASweZ YOSMy7jMLdGTeCsGpCwStH1IizuYLCVQVchXG/sCj0PkR80VsjQusrsqRf78rE9toNnY hXyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject; bh=Nh8fWsos5FEhP9uFGJi/QBCjpd6hlG7FlcrvT7UlsP0=; b=yCYyPeBUVPFtkLV/kLaYcCmzkgq9n8fZfm7036CfojFStzKPKRLRNvUVvCjqjwR58N tmo10ppTPrSwhTA7oTNdJojCCsQ/ysGbvbcSjUP+TY4JGCLHlfHbaDJXVt2L6y0zcV+l T9mvtqwItfsFuWabbQ1ihMvdVlcLfJd+GBhQz/+fCTngAmQmM+GqQymfM6n+ZdN0zmDb 4yXrpiP50C/Go7/Lb4u34T+udVOrLOHV16MpQ+3LgoLoF3d2EcNk3UquQXmyPfAzXg9b SYtHQD3UfA7NE7xwwDUftQvf0eSXs/Kgq+G60s+k6PCJK+avoEKgHufNtftuwLz5gCFd EdBg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id 69si436570wrb.1.2018.12.04.02.49.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Dec 2018 02:49:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Received: from [192.168.50.180] (nat-ppp-217.71.235.199-satnet-spb.ru [217.71.235.199] (may be forged)) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id wB4AnH7B024273 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 4 Dec 2018 11:49:19 +0100 Subject: Re: [PATCH] isar-bootstrap: Fix and cleanup bind mounting To: Jan Kiszka Cc: Henning Schild , isar-users , Cedric Hombourger References: <6f5714bc-d5f5-c08f-c408-b32bab9169fc@siemens.com> <20181129193929.61a35056@md1za8fc.ad001.siemens.net> <2229f975-0752-ebe3-c165-979e1d5864b2@siemens.com> From: "Maxim Yu. Osipov" Organization: ilbers GmbH Message-ID: <61a6a17c-06e0-a13b-591e-3ea8bc09632e@ilbers.de> Date: Tue, 4 Dec 2018 13:49:07 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 MIME-Version: 1.0 In-Reply-To: <2229f975-0752-ebe3-c165-979e1d5864b2@siemens.com> Content-Type: multipart/mixed; boundary="------------96EBDBC5E0B906843C6DDA2E" Content-Language: en-US X-TUID: dvGj2SjAnLew This is a multi-part message in MIME format. --------------96EBDBC5E0B906843C6DDA2E Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 12/3/18 3:59 PM, Jan Kiszka wrote: > On 30.11.18 10:20, Maxim Yu. Osipov wrote: >> Hi Jan, >> >> I've just tried this patch (on the 'next' with reverted patch >> d40a9ac0) and ran "fast" CI >> >> isar$mount | wc -l >> 34 >> >> isar$./scripts/ci_build.sh -q -f >> >> CI script hung on CI stage when dpkg-base is modified >> causing rebuilding recipes based on dpkg-base. >> >> The mount reports less (!) mount points than before launching the script. >> >> mount | wc -l >> 31 > > Any news on what's different on your side? Where exactly does your build > hang? Was your CI environment in a clean state when running this test? > Before the comment lots of things leaked. On my stretch laptop (i7-6820HQ CPU @ 2.70GHz (8 cores) with SSD) the reported problem is reproducible (I rerun 'ci_build.sh -q -f' several times in clean state) it hung and with the less mount points (the mount points before and after running are attached). The strange thing that I observe two bitbake processes: myo 26373 0.0 0.3 153116 29732 pts/0 Sl+ 12:31 0:01 python3 /home/myo/work/isar/src/trunk/isar/bitbake/bin/bitbake multiconfig:qemuarm-stretch:isar-image-base multiconfig:qemuarm64-stretch:isar-image-base multiconfig:qemuamd64-stretch:isar-image-base myo 26379 2.5 0.6 328476 50028 ? Sl 12:31 0:40 python3 /home/myo/work/isar/src/trunk/isar/bitbake/bin/bitbake multiconfig:qemuarm-stretch:isar-image-base multiconfig:qemuarm64-stretch:isar-image-base multiconfig:qemuamd64-stretch:isar-image-base When I turned on verbosity (called ci_build.sh without '-q' switch) 'scripts/ci_build -f' succeeded. Build also fails on isar-build.org http://isar-build.org:8080/job/isar_mosipov_next/98/console: it complains on 'rm: cannot remove '/workspace/build/isar_mosipov_next/98/build/tmp/work/debian-stretch-armhf/isar-bootstrap-target/rootfs/dev': Device or resource busy' Note that ci-build.sh on isar-build.org is also called with '-q' switch. Questions: 1) Did you launch ci_build with '-q' option? 2) Did you inspect mount points before and after launching ci_build? Are they identical? 3) Do you run this in docker? Maxim. > We still do not see problems with this bug fix, neither locally nor in > CI (which is ci_build-based now, too). And it's actually a precondition > to make "isar-image: umount base-apt when doing offline build" work as > expected. > > Thanks, > Jan > >> >> Maxim. >> >> On 11/29/18 9:39 PM, Henning Schild wrote: >>> Maybe that is where the leftover mounts came from, and the reverts are >>> not required. >>> >>> Henning >>> >>> Am Thu, 29 Nov 2018 17:29:17 +0100 >>> schrieb "[ext] Jan Kiszka" : >>> >>>> First, wrong variables were used (there is no BUILDCHROOT_DIR for >>>> isar_bootstrap). And then we simply left the mount points active after >>>> completing the bootstrap. The led to setup_root_file_system copying >>>> all the mount point content over into the buildchroot or rootfs - >>>> including base-apt when it was used. >>>> >>>> Signed-off-by: Jan Kiszka >>>> --- >>>> >>>> This is a precondition for "isar-image: umount base-apt when doing >>>> offline build" to work properly. IOW, that patch reveal these bugs. >>>> >>>> Possibly, this also explains the increasing mount count that was >>>> visible in CI. >>>> >>>>   meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 21 >>>> +++++++++++---------- 1 file changed, 11 insertions(+), 10 >>>> deletions(-) >>>> >>>> diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc >>>> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index >>>> 8ea3b08..da077d0 100644 --- >>>> a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ >>>> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -185,12 >>>> +185,8 @@ isar_bootstrap() { sudo -E flock "${ISAR_BOOTSTRAP_LOCK}" >>>> -c "\ set -e >>>>           if [ ! -e "${DEPLOY_ISAR_BOOTSTRAP}" ]; then >>>> -            if [ -e "${ROOTFSDIR}" ]; then >>>> -               umount -R -l "${ROOTFSDIR}/dev" || true >>>> -               umount -l "${ROOTFSDIR}/proc" || true >>>> -               umount -R -l "${ROOTFSDIR}/sys" || true >>>> -               rm -rf "${ROOTFSDIR}" >>>> -            fi >>>> +            rm -rf "${ROOTFSDIR}" >>>> + >>>>               if [ ${IS_HOST} ]; then >>>>                   ${DEBOOTSTRAP} $debootstrap_args \ >>>>                                  ${@get_distro_components_argument(d, >>>> True)} \ @@ -247,17 +243,22 @@ isar_bootstrap() { >>>>               "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}" >>>>               # update APT >>>> -            mount --rbind /dev ${BUILDCHROOT_DIR}/dev >>>> -            mount --make-rslave ${BUILDCHROOT_DIR}/dev >>>> +            mount --rbind /dev ${ROOTFSDIR}/dev >>>> +            mount --make-rslave ${ROOTFSDIR}/dev >>>>               mount -t proc none ${ROOTFSDIR}/proc >>>> -            mount --rbind /sys ${BUILDCHROOT_DIR}/sys >>>> -            mount --make-rslave ${BUILDCHROOT_DIR}/sys >>>> +            mount --rbind /sys ${ROOTFSDIR}/sys >>>> +            mount --make-rslave ${ROOTFSDIR}/sys >>>>               export DEBIAN_FRONTEND=noninteractive >>>>               chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y >>>>               chroot "${ROOTFSDIR}" /usr/bin/apt-get dist-upgrade -y \ >>>>                                     -o Debug::pkgProblemResolver=yes >>>> +            umount -R -l "${ROOTFSDIR}/dev" >>>> +            umount -l "${ROOTFSDIR}/proc" >>>> +            umount -R -l "${ROOTFSDIR}/sys" >>>> +            umount -l "${ROOTFSDIR}/base-apt" || true >>>> + >>>>               # Finalize debootstrap by setting the link in deploy >>>>               ln -Tfsr "${ROOTFSDIR}" "${DEPLOY_ISAR_BOOTSTRAP}" >>>>           fi" >>> >> >> > -- Maxim Osipov ilbers GmbH Maria-Merian-Str. 8 85521 Ottobrunn Germany +49 (151) 6517 6917 mosipov@ilbers.de http://ilbers.de/ Commercial register Munich, HRB 214197 General Manager: Baurzhan Ismagulov --------------96EBDBC5E0B906843C6DDA2E Content-Type: text/plain; charset=UTF-8; name="mount_after.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mount_after.txt" c3lzZnMgb24gL3N5cyB0eXBlIHN5c2ZzIChydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0 aW1lKQpwcm9jIG9uIC9wcm9jIHR5cGUgcHJvYyAocncsbm9zdWlkLG5vZGV2LG5vZXhlYyxy ZWxhdGltZSkKdWRldiBvbiAvZGV2IHR5cGUgZGV2dG1wZnMgKHJ3LG5vc3VpZCxyZWxhdGlt ZSxzaXplPTQwMTU5MDRrLG5yX2lub2Rlcz0xMDAzOTc2LG1vZGU9NzU1KQpkZXZwdHMgb24g L2Rldi9wdHMgdHlwZSBkZXZwdHMgKHJ3LG5vc3VpZCxub2V4ZWMscmVsYXRpbWUsZ2lkPTUs bW9kZT02MjAscHRteG1vZGU9MDAwKQp0bXBmcyBvbiAvcnVuIHR5cGUgdG1wZnMgKHJ3LG5v c3VpZCxub2V4ZWMscmVsYXRpbWUsc2l6ZT04MDU4NDBrLG1vZGU9NzU1KQovZGV2L3NkYTMg b24gLyB0eXBlIGV4dDQgKHJ3LHJlbGF0aW1lLGVycm9ycz1yZW1vdW50LXJvLGRhdGE9b3Jk ZXJlZCkKdG1wZnMgb24gL2Rldi9zaG0gdHlwZSB0bXBmcyAocncsbm9zdWlkLG5vZGV2KQp0 bXBmcyBvbiAvcnVuL2xvY2sgdHlwZSB0bXBmcyAocncsbm9zdWlkLG5vZGV2LG5vZXhlYyxy ZWxhdGltZSxzaXplPTUxMjBrKQp0bXBmcyBvbiAvc3lzL2ZzL2Nncm91cCB0eXBlIHRtcGZz IChybyxub3N1aWQsbm9kZXYsbm9leGVjLG1vZGU9NzU1KQpjZ3JvdXAgb24gL3N5cy9mcy9j Z3JvdXAvc3lzdGVtZCB0eXBlIGNncm91cCAocncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxh dGltZSx4YXR0cixyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMt YWdlbnQsbmFtZT1zeXN0ZW1kKQpzeXN0ZW1kLTEgb24gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9t aXNjIHR5cGUgYXV0b2ZzIChydyxyZWxhdGltZSxmZD0zOCxwZ3JwPTEsdGltZW91dD0wLG1p bnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QscGlwZV9pbm89MjM1KQovZGV2L3NkYTUgb24g L2hvbWUgdHlwZSBleHQ0IChydyxyZWxhdGltZSxkYXRhPW9yZGVyZWQpCi9kZXYvc2RhMSBv biAvYm9vdC9lZmkgdHlwZSB2ZmF0IChydyxyZWxhdGltZSxmbWFzaz0wMDAyLGRtYXNrPTAw MDIsYWxsb3dfdXRpbWU9MDAyMCxjb2RlcGFnZT00MzcsaW9jaGFyc2V0PWFzY2lpLHNob3J0 bmFtZT1taXhlZCxxdWlldCx1dGY4LGVycm9ycz1yZW1vdW50LXJvKQpiaW5mbXRfbWlzYyBv biAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgdHlwZSBiaW5mbXRfbWlzYyAocncscmVsYXRp bWUpCnRtcGZzIG9uIC9ydW4vdXNlci8xMTQgdHlwZSB0bXBmcyAocncsbm9zdWlkLG5vZGV2 LHJlbGF0aW1lLHNpemU9ODA1ODM2ayxtb2RlPTcwMCx1aWQ9MTE0LGdpZD0xMTYpCmd2ZnNk LWZ1c2Ugb24gL3J1bi91c2VyLzExNC9ndmZzIHR5cGUgZnVzZS5ndmZzZC1mdXNlIChydyxu b3N1aWQsbm9kZXYscmVsYXRpbWUsdXNlcl9pZD0xMTQsZ3JvdXBfaWQ9MTE2KQp0bXBmcyBv biAvcnVuL3VzZXIvMTAwMCB0eXBlIHRtcGZzIChydyxub3N1aWQsbm9kZXYscmVsYXRpbWUs c2l6ZT04MDU4MzZrLG1vZGU9NzAwLHVpZD0xMDAwLGdpZD0xMDAwKQpndmZzZC1mdXNlIG9u IC9ydW4vdXNlci8xMDAwL2d2ZnMgdHlwZSBmdXNlLmd2ZnNkLWZ1c2UgKHJ3LG5vc3VpZCxu b2RldixyZWxhdGltZSx1c2VyX2lkPTEwMDAsZ3JvdXBfaWQ9MTAwMCkKL2Rldi9zZGE1IG9u IC9ob21lL215by93b3JrL2lzYXIvc3JjL3RydW5rL2lzYXIvYnVpbGQvdG1wL3dvcmsvZGVi aWFuLXN0cmV0Y2gtYW1kNjQvYnVpbGRjaHJvb3QtdGFyZ2V0L3Jvb3Rmcy9ob21lL215by93 b3JrL2lzYXIvc3JjL3RydW5rL2lzYXIvYnVpbGQvdG1wIHR5cGUgZXh0NCAocncscmVsYXRp bWUsZGF0YT1vcmRlcmVkKQp1ZGV2IG9uIC9ob21lL215by93b3JrL2lzYXIvc3JjL3RydW5r L2lzYXIvYnVpbGQvdG1wL3dvcmsvZGViaWFuLXN0cmV0Y2gtYW1kNjQvYnVpbGRjaHJvb3Qt dGFyZ2V0L3Jvb3Rmcy9ob21lL215by93b3JrL2lzYXIvc3JjL3RydW5rL2lzYXIvYnVpbGQv dG1wL3dvcmsvZGViaWFuLXN0cmV0Y2gtYXJtNjQvaXNhci1pbWFnZS1iYXNlL3Jvb3Rmcy9k ZXYgdHlwZSBkZXZ0bXBmcyAocncsbm9zdWlkLHJlbGF0aW1lLHNpemU9NDAxNTkwNGssbnJf aW5vZGVzPTEwMDM5NzYsbW9kZT03NTUpCmRldnB0cyBvbiAvaG9tZS9teW8vd29yay9pc2Fy L3NyYy90cnVuay9pc2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1zdHJldGNoLWFtZDY0L2J1 aWxkY2hyb290LXRhcmdldC9yb290ZnMvaG9tZS9teW8vd29yay9pc2FyL3NyYy90cnVuay9p c2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1zdHJldGNoLWFybTY0L2lzYXItaW1hZ2UtYmFz ZS9yb290ZnMvZGV2L3B0cyB0eXBlIGRldnB0cyAocncsbm9zdWlkLG5vZXhlYyxyZWxhdGlt ZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDApCnRtcGZzIG9uIC9ob21lL215by93b3Jr L2lzYXIvc3JjL3RydW5rL2lzYXIvYnVpbGQvdG1wL3dvcmsvZGViaWFuLXN0cmV0Y2gtYW1k NjQvYnVpbGRjaHJvb3QtdGFyZ2V0L3Jvb3Rmcy9ob21lL215by93b3JrL2lzYXIvc3JjL3Ry dW5rL2lzYXIvYnVpbGQvdG1wL3dvcmsvZGViaWFuLXN0cmV0Y2gtYXJtNjQvaXNhci1pbWFn ZS1iYXNlL3Jvb3Rmcy9kZXYvc2htIHR5cGUgdG1wZnMgKHJ3LG5vc3VpZCxub2RldikKc3lz ZnMgb24gL2hvbWUvbXlvL3dvcmsvaXNhci9zcmMvdHJ1bmsvaXNhci9idWlsZC90bXAvd29y ay9kZWJpYW4tc3RyZXRjaC1hbWQ2NC9idWlsZGNocm9vdC10YXJnZXQvcm9vdGZzL2hvbWUv bXlvL3dvcmsvaXNhci9zcmMvdHJ1bmsvaXNhci9idWlsZC90bXAvd29yay9kZWJpYW4tc3Ry ZXRjaC1hcm02NC9pc2FyLWltYWdlLWJhc2Uvcm9vdGZzL3N5cyB0eXBlIHN5c2ZzIChydyxu b3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lKQp0bXBmcyBvbiAvaG9tZS9teW8vd29yay9p c2FyL3NyYy90cnVuay9pc2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1zdHJldGNoLWFtZDY0 L2J1aWxkY2hyb290LXRhcmdldC9yb290ZnMvaG9tZS9teW8vd29yay9pc2FyL3NyYy90cnVu ay9pc2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1zdHJldGNoLWFybTY0L2lzYXItaW1hZ2Ut YmFzZS9yb290ZnMvc3lzL2ZzL2Nncm91cCB0eXBlIHRtcGZzIChybyxub3N1aWQsbm9kZXYs bm9leGVjLG1vZGU9NzU1KQpjZ3JvdXAgb24gL2hvbWUvbXlvL3dvcmsvaXNhci9zcmMvdHJ1 bmsvaXNhci9idWlsZC90bXAvd29yay9kZWJpYW4tc3RyZXRjaC1hbWQ2NC9idWlsZGNocm9v dC10YXJnZXQvcm9vdGZzL2hvbWUvbXlvL3dvcmsvaXNhci9zcmMvdHJ1bmsvaXNhci9idWls ZC90bXAvd29yay9kZWJpYW4tc3RyZXRjaC1hcm02NC9pc2FyLWltYWdlLWJhc2Uvcm9vdGZz L3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCB0eXBlIGNncm91cCAocncsbm9zdWlkLG5vZGV2LG5v ZXhlYyxyZWxhdGltZSx4YXR0cixyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1k LWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kKQp1ZGV2IG9uIC9ob21lL215by93b3JrL2lz YXIvc3JjL3RydW5rL2lzYXIvYnVpbGQvdG1wL3dvcmsvZGViaWFuLXN0cmV0Y2gtYW1kNjQv YnVpbGRjaHJvb3QtdGFyZ2V0L3Jvb3Rmcy9ob21lL215by93b3JrL2lzYXIvc3JjL3RydW5r L2lzYXIvYnVpbGQvdG1wL3dvcmsvZGViaWFuLXN0cmV0Y2gtYXJtaGYvaXNhci1pbWFnZS1i YXNlL3Jvb3Rmcy9kZXYgdHlwZSBkZXZ0bXBmcyAocncsbm9zdWlkLHJlbGF0aW1lLHNpemU9 NDAxNTkwNGssbnJfaW5vZGVzPTEwMDM5NzYsbW9kZT03NTUpCmRldnB0cyBvbiAvaG9tZS9t eW8vd29yay9pc2FyL3NyYy90cnVuay9pc2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1zdHJl dGNoLWFtZDY0L2J1aWxkY2hyb290LXRhcmdldC9yb290ZnMvaG9tZS9teW8vd29yay9pc2Fy L3NyYy90cnVuay9pc2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1zdHJldGNoLWFybWhmL2lz YXItaW1hZ2UtYmFzZS9yb290ZnMvZGV2L3B0cyB0eXBlIGRldnB0cyAocncsbm9zdWlkLG5v ZXhlYyxyZWxhdGltZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDApCnRtcGZzIG9uIC9o b21lL215by93b3JrL2lzYXIvc3JjL3RydW5rL2lzYXIvYnVpbGQvdG1wL3dvcmsvZGViaWFu LXN0cmV0Y2gtYW1kNjQvYnVpbGRjaHJvb3QtdGFyZ2V0L3Jvb3Rmcy9ob21lL215by93b3Jr L2lzYXIvc3JjL3RydW5rL2lzYXIvYnVpbGQvdG1wL3dvcmsvZGViaWFuLXN0cmV0Y2gtYXJt aGYvaXNhci1pbWFnZS1iYXNlL3Jvb3Rmcy9kZXYvc2htIHR5cGUgdG1wZnMgKHJ3LG5vc3Vp ZCxub2RldikKc3lzZnMgb24gL2hvbWUvbXlvL3dvcmsvaXNhci9zcmMvdHJ1bmsvaXNhci9i dWlsZC90bXAvd29yay9kZWJpYW4tc3RyZXRjaC1hbWQ2NC9idWlsZGNocm9vdC10YXJnZXQv cm9vdGZzL2hvbWUvbXlvL3dvcmsvaXNhci9zcmMvdHJ1bmsvaXNhci9idWlsZC90bXAvd29y ay9kZWJpYW4tc3RyZXRjaC1hcm1oZi9pc2FyLWltYWdlLWJhc2Uvcm9vdGZzL3N5cyB0eXBl IHN5c2ZzIChydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lKQp0bXBmcyBvbiAvaG9t ZS9teW8vd29yay9pc2FyL3NyYy90cnVuay9pc2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1z dHJldGNoLWFtZDY0L2J1aWxkY2hyb290LXRhcmdldC9yb290ZnMvaG9tZS9teW8vd29yay9p c2FyL3NyYy90cnVuay9pc2FyL2J1aWxkL3RtcC93b3JrL2RlYmlhbi1zdHJldGNoLWFybWhm L2lzYXItaW1hZ2UtYmFzZS9yb290ZnMvc3lzL2ZzL2Nncm91cCB0eXBlIHRtcGZzIChybyxu b3N1aWQsbm9kZXYsbm9leGVjLG1vZGU9NzU1KQpjZ3JvdXAgb24gL2hvbWUvbXlvL3dvcmsv aXNhci9zcmMvdHJ1bmsvaXNhci9idWlsZC90bXAvd29yay9kZWJpYW4tc3RyZXRjaC1hbWQ2 NC9idWlsZGNocm9vdC10YXJnZXQvcm9vdGZzL2hvbWUvbXlvL3dvcmsvaXNhci9zcmMvdHJ1 bmsvaXNhci9idWlsZC90bXAvd29yay9kZWJpYW4tc3RyZXRjaC1hcm1oZi9pc2FyLWltYWdl LWJhc2Uvcm9vdGZzL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCB0eXBlIGNncm91cCAocncsbm9z dWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSx4YXR0cixyZWxlYXNlX2FnZW50PS9saWIvc3lz dGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kKQo= --------------96EBDBC5E0B906843C6DDA2E Content-Type: text/plain; charset=UTF-8; name="mount_before.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mount_before.txt" c3lzZnMgb24gL3N5cyB0eXBlIHN5c2ZzIChydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0 aW1lKQpwcm9jIG9uIC9wcm9jIHR5cGUgcHJvYyAocncsbm9zdWlkLG5vZGV2LG5vZXhlYyxy ZWxhdGltZSkKdWRldiBvbiAvZGV2IHR5cGUgZGV2dG1wZnMgKHJ3LG5vc3VpZCxyZWxhdGlt ZSxzaXplPTQwMTU5MDRrLG5yX2lub2Rlcz0xMDAzOTc2LG1vZGU9NzU1KQpkZXZwdHMgb24g L2Rldi9wdHMgdHlwZSBkZXZwdHMgKHJ3LG5vc3VpZCxub2V4ZWMscmVsYXRpbWUsZ2lkPTUs bW9kZT02MjAscHRteG1vZGU9MDAwKQp0bXBmcyBvbiAvcnVuIHR5cGUgdG1wZnMgKHJ3LG5v c3VpZCxub2V4ZWMscmVsYXRpbWUsc2l6ZT04MDU4NDBrLG1vZGU9NzU1KQovZGV2L3NkYTMg b24gLyB0eXBlIGV4dDQgKHJ3LHJlbGF0aW1lLGVycm9ycz1yZW1vdW50LXJvLGRhdGE9b3Jk ZXJlZCkKc2VjdXJpdHlmcyBvbiAvc3lzL2tlcm5lbC9zZWN1cml0eSB0eXBlIHNlY3VyaXR5 ZnMgKHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUpCnRtcGZzIG9uIC9kZXYvc2ht IHR5cGUgdG1wZnMgKHJ3LG5vc3VpZCxub2RldikKdG1wZnMgb24gL3J1bi9sb2NrIHR5cGUg dG1wZnMgKHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsc2l6ZT01MTIwaykKdG1w ZnMgb24gL3N5cy9mcy9jZ3JvdXAgdHlwZSB0bXBmcyAocm8sbm9zdWlkLG5vZGV2LG5vZXhl Yyxtb2RlPTc1NSkKY2dyb3VwIG9uIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgdHlwZSBjZ3Jv dXAgKHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUseGF0dHIscmVsZWFzZV9hZ2Vu dD0vbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZCkKcHN0 b3JlIG9uIC9zeXMvZnMvcHN0b3JlIHR5cGUgcHN0b3JlIChydyxub3N1aWQsbm9kZXYsbm9l eGVjLHJlbGF0aW1lKQplZml2YXJmcyBvbiAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzIHR5 cGUgZWZpdmFyZnMgKHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUpCmNncm91cCBv biAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgdHlwZSBjZ3JvdXAgKHJ3LG5vc3VpZCxub2Rldixu b2V4ZWMscmVsYXRpbWUsY3B1c2V0KQpjZ3JvdXAgb24gL3N5cy9mcy9jZ3JvdXAvY3B1LGNw dWFjY3QgdHlwZSBjZ3JvdXAgKHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1 LGNwdWFjY3QpCmNncm91cCBvbiAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzIHR5cGUgY2dyb3Vw IChydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGRldmljZXMpCmNncm91cCBvbiAv c3lzL2ZzL2Nncm91cC9mcmVlemVyIHR5cGUgY2dyb3VwIChydyxub3N1aWQsbm9kZXYsbm9l eGVjLHJlbGF0aW1lLGZyZWV6ZXIpCmNncm91cCBvbiAvc3lzL2ZzL2Nncm91cC9tZW1vcnkg dHlwZSBjZ3JvdXAgKHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbWVtb3J5KQpj Z3JvdXAgb24gL3N5cy9mcy9jZ3JvdXAvYmxraW8gdHlwZSBjZ3JvdXAgKHJ3LG5vc3VpZCxu b2Rldixub2V4ZWMscmVsYXRpbWUsYmxraW8pCmNncm91cCBvbiAvc3lzL2ZzL2Nncm91cC9u ZXRfY2xzLG5ldF9wcmlvIHR5cGUgY2dyb3VwIChydyxub3N1aWQsbm9kZXYsbm9leGVjLHJl bGF0aW1lLG5ldF9jbHMsbmV0X3ByaW8pCmNncm91cCBvbiAvc3lzL2ZzL2Nncm91cC9wZXJm X2V2ZW50IHR5cGUgY2dyb3VwIChydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHBl cmZfZXZlbnQpCmNncm91cCBvbiAvc3lzL2ZzL2Nncm91cC9waWRzIHR5cGUgY2dyb3VwIChy dyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHBpZHMpCnN5c3RlbWQtMSBvbiAvcHJv Yy9zeXMvZnMvYmluZm10X21pc2MgdHlwZSBhdXRvZnMgKHJ3LHJlbGF0aW1lLGZkPTM4LHBn cnA9MSx0aW1lb3V0PTAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdCxwaXBlX2lubz0y MzUpCm1xdWV1ZSBvbiAvZGV2L21xdWV1ZSB0eXBlIG1xdWV1ZSAocncscmVsYXRpbWUpCmRl YnVnZnMgb24gL3N5cy9rZXJuZWwvZGVidWcgdHlwZSBkZWJ1Z2ZzIChydyxyZWxhdGltZSkK aHVnZXRsYmZzIG9uIC9kZXYvaHVnZXBhZ2VzIHR5cGUgaHVnZXRsYmZzIChydyxyZWxhdGlt ZSkKL2Rldi9zZGE1IG9uIC9ob21lIHR5cGUgZXh0NCAocncscmVsYXRpbWUsZGF0YT1vcmRl cmVkKQovZGV2L3NkYTEgb24gL2Jvb3QvZWZpIHR5cGUgdmZhdCAocncscmVsYXRpbWUsZm1h c2s9MDAwMixkbWFzaz0wMDAyLGFsbG93X3V0aW1lPTAwMjAsY29kZXBhZ2U9NDM3LGlvY2hh cnNldD1hc2NpaSxzaG9ydG5hbWU9bWl4ZWQscXVpZXQsdXRmOCxlcnJvcnM9cmVtb3VudC1y bykKYmluZm10X21pc2Mgb24gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHR5cGUgYmluZm10 X21pc2MgKHJ3LHJlbGF0aW1lKQp0bXBmcyBvbiAvcnVuL3VzZXIvMTE0IHR5cGUgdG1wZnMg KHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSxzaXplPTgwNTgzNmssbW9kZT03MDAsdWlkPTEx NCxnaWQ9MTE2KQpndmZzZC1mdXNlIG9uIC9ydW4vdXNlci8xMTQvZ3ZmcyB0eXBlIGZ1c2Uu Z3Zmc2QtZnVzZSAocncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lLHVzZXJfaWQ9MTE0LGdyb3Vw X2lkPTExNikKZnVzZWN0bCBvbiAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgdHlwZSBmdXNl Y3RsIChydyxyZWxhdGltZSkKdG1wZnMgb24gL3J1bi91c2VyLzEwMDAgdHlwZSB0bXBmcyAo cncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lLHNpemU9ODA1ODM2ayxtb2RlPTcwMCx1aWQ9MTAw MCxnaWQ9MTAwMCkKZ3Zmc2QtZnVzZSBvbiAvcnVuL3VzZXIvMTAwMC9ndmZzIHR5cGUgZnVz ZS5ndmZzZC1mdXNlIChydyxub3N1aWQsbm9kZXYscmVsYXRpbWUsdXNlcl9pZD0xMDAwLGdy b3VwX2lkPTEwMDApCg== --------------96EBDBC5E0B906843C6DDA2E--