From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6997052726746021888 X-Received: by 2002:a17:906:8281:: with SMTP id h1mr36444120ejx.352.1629714268127; Mon, 23 Aug 2021 03:24:28 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:aa7:c98b:: with SMTP id c11ls6248487edt.1.gmail; Mon, 23 Aug 2021 03:24:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw6RmLrVnoEygQKcoC0lQW1vh7mjq5AsOYvZ4SRF4jFaDSfqwXJzaMA11vHoLFzeGgGrXwH X-Received: by 2002:a05:6402:1c8a:: with SMTP id cy10mr7920649edb.112.1629714267349; Mon, 23 Aug 2021 03:24:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629714267; cv=none; d=google.com; s=arc-20160816; b=IZeiwe0hMOdDXTS93naHJF+sj68aMnABzU2Fa8yILUxyFRaBumZQhJIID5UXPGIF3S SL+jgpvuJbEwAue7uomw2NiUHmTeEywEePB6wpS9oG6EBGxFLrWQoBzZsW9/krcL9DI4 Yo61d/MS59be0j2RVYgkW/OO0A7aT59iiZBTODG7QkV4OnyWbQiYxQnwDwhftczNZBLu IFNcfPv/SRBeIZGk7a/qAgWSXWy2COyCH070+jbXOfQTUIEyDLny3VrMy5K52e2dmjDX 36H7llkYPjcv+s/diPOrkSk6g3IUc7pNMYjiXVElxqoIzihjMuykT+KYdcFmobkolJ5r XXPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=6SCYAFUTFREsK2Y3P8EQXyM5tg7Xg8OA0OTVrcOZ0Bs=; b=VkoO/MPfh6E0FBCPLRWl+UMB/tZuj7Ah34B4wZt50NuSmPBpdEGkCwVyikVZ0tYw8g rV4p9OWPxqNCKAC+/V9L9QXd8HHWziyW+tyy9fLN7atRD/QrMaOi8wm72TBJwZ3fan9q WDLArbHJgpLXrS6lXzfnzx8hcBM/kxVm4iZVcZAZC/ZDCKpNnuFAy2krjaPpC1q3MMLl GZNXliE64phh0QVFuLGVHbzTsO7XbkdR0zOR+gBHIDo2fqXdSA4LzvXAXZsgRvBM5duQ YaV3oJJlv5MFo0OuYExS7Dkyd0x1t2/1mMyMOfMqnOYlFVR7NmUAwDvj6vLUhdTG0SMx 3gkg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id u25si730481edd.1.2021.08.23.03.24.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 23 Aug 2021 03:24:27 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from localhost.localdomain (mm-31-27-214-37.mgts.dynamic.pppoe.byfly.by [37.214.27.31] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 17NANo5j001835 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 23 Aug 2021 12:24:19 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v6 6/6] Revert "buildchroot: Unmount buildchroot mounts if not needed" Date: Mon, 23 Aug 2021 13:23:42 +0300 Message-Id: <20210823102342.3674387-7-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210823102342.3674387-1-amikan@ilbers.de> References: <20210823102342.3674387-1-amikan@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: 1EfQ8s+vwt7T Reference counter protected per-task resource unmounting can't yet be used because some /dev and /sys mounts can stay still locked even after task finish in CI environment on high jobs load. This leads to the following error: Execution of 'enable-fsck/1.0-r0/temp/run.buildchroot_undo_mounts.43890' failed with exit code 32: umount: buildchroot-host/1.0-r0/rootfs/sys/fs/cgroup: target is busy. We should revert commit 3360b7d9ff85172dc3d2275c35caec71149b35ef until the reason of this issue will be found and fixed. Signed-off-by: Anton Mikanovich --- meta/classes/buildchroot.bbclass | 47 ------------------- meta/classes/dpkg-base.bbclass | 2 - meta/classes/ext4-img.bbclass | 2 - meta/classes/fit-img.bbclass | 2 - meta/classes/image-tools-extension.bbclass | 2 - meta/classes/image.bbclass | 9 ---- meta/classes/ubi-img.bbclass | 2 - meta/classes/ubifs-img.bbclass | 2 - meta/classes/wic-img.bbclass | 1 - .../buildchroot/buildchroot.inc | 8 ---- 10 files changed, 77 deletions(-) diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass index f77e4f0..e9eb9af 100644 --- a/meta/classes/buildchroot.bbclass +++ b/meta/classes/buildchroot.bbclass @@ -28,19 +28,8 @@ buildchroot_do_mounts() { ( flock 9 set -e - count="1" - if [ -f '${BUILDCHROOT_DIR}.mount' ]; then - count=$(($(cat '${BUILDCHROOT_DIR}.mount') + 1)) - fi - echo $count > '${BUILDCHROOT_DIR}.mount' - if [ $count -gt 1 ]; then - exit 0 - fi - - mkdir -p '${BUILDCHROOT_DIR}/isar-apt' mountpoint -q '${BUILDCHROOT_DIR}/isar-apt' || mount --bind '${REPO_ISAR_DIR}/${DISTRO}' '${BUILDCHROOT_DIR}/isar-apt' - mkdir -p '${BUILDCHROOT_DIR}/downloads' mountpoint -q '${BUILDCHROOT_DIR}/downloads' || mount --bind '${DL_DIR}' '${BUILDCHROOT_DIR}/downloads' mountpoint -q '${BUILDCHROOT_DIR}/dev' || @@ -71,39 +60,3 @@ buildchroot_do_mounts() { ) 9>'${MOUNT_LOCKFILE}' EOSUDO } - -buildchroot_undo_mounts() { - sudo -s <<'EOSUDO' - ( flock 9 - set -e - - if [ -f '${BUILDCHROOT_DIR}.mount' ]; then - count=$(($(cat '${BUILDCHROOT_DIR}.mount') - 1)) - echo $count > '${BUILDCHROOT_DIR}.mount' - else - echo "Could not find mount counter" - exit 1 - fi - if [ $count -gt 0 ]; then - exit 0 - fi - rm ${BUILDCHROOT_DIR}.mount - - mountpoint -q '${BUILDCHROOT_DIR}/base-apt' && \ - umount ${BUILDCHROOT_DIR}/base-apt && \ - rmdir --ignore-fail-on-non-empty ${BUILDCHROOT_DIR}/base-apt - mountpoint -q '${BUILDCHROOT_DIR}/sys' && \ - umount -R ${BUILDCHROOT_DIR}/sys - mountpoint -q '${BUILDCHROOT_DIR}/proc' && \ - umount -R ${BUILDCHROOT_DIR}/proc - mountpoint -q '${BUILDCHROOT_DIR}/dev' && \ - umount -R ${BUILDCHROOT_DIR}/dev - mountpoint -q '${BUILDCHROOT_DIR}/downloads' && \ - umount ${BUILDCHROOT_DIR}/downloads && \ - rmdir --ignore-fail-on-non-empty ${BUILDCHROOT_DIR}/downloads - mountpoint -q '${BUILDCHROOT_DIR}/isar-apt' && \ - umount ${BUILDCHROOT_DIR}/isar-apt && \ - rmdir --ignore-fail-on-non-empty ${BUILDCHROOT_DIR}/isar-apt - ) 9>'${MOUNT_LOCKFILE}' -EOSUDO -} diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 7364a7f..aa529ca 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -169,8 +169,6 @@ dpkg_undo_mounts() { i=`expr $i + 1` done sudo rmdir ${BUILDROOT} - - buildchroot_undo_mounts } # Placeholder for actual dpkg_runbuild() implementation diff --git a/meta/classes/ext4-img.bbclass b/meta/classes/ext4-img.bbclass index 26e0137..334dc64 100644 --- a/meta/classes/ext4-img.bbclass +++ b/meta/classes/ext4-img.bbclass @@ -17,8 +17,6 @@ do_ext4_image() { sudo chroot ${BUILDCHROOT_DIR} /sbin/mke2fs ${MKE2FS_ARGS} \ -F -d '${PP_ROOTFS}' '${PP_DEPLOY}/${EXT4_IMAGE_FILE}' - - image_undo_mounts } addtask ext4_image before do_image after do_image_tools diff --git a/meta/classes/fit-img.bbclass b/meta/classes/fit-img.bbclass index 98ed8eb..82b96d8 100644 --- a/meta/classes/fit-img.bbclass +++ b/meta/classes/fit-img.bbclass @@ -24,7 +24,5 @@ do_fit_image() { sudo chroot ${BUILDCHROOT_DIR} /usr/bin/mkimage ${MKIMAGE_ARGS} \ -f '${PP_WORK}/${FIT_IMAGE_SOURCE}' '${PP_DEPLOY}/${FIT_IMAGE_FILE}' sudo chown $(id -u):$(id -g) '${DEPLOY_DIR_IMAGE}/${FIT_IMAGE_FILE}' - - image_undo_mounts } addtask fit_image before do_image after do_image_tools do_transform_template diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes/image-tools-extension.bbclass index 9646a14..9f28800 100644 --- a/meta/classes/image-tools-extension.bbclass +++ b/meta/classes/image-tools-extension.bbclass @@ -40,7 +40,5 @@ do_install_imager_deps() { apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \ --allow-unauthenticated --allow-downgrades install \ ${IMAGER_INSTALL}' - - buildchroot_undo_mounts } addtask install_imager_deps before do_image_tools diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 9f9b3f8..ec93cab 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -62,15 +62,6 @@ image_do_mounts() { buildchroot_do_mounts } -image_undo_mounts() { - buildchroot_undo_mounts - sudo flock ${MOUNT_LOCKFILE} -c ' \ - umount "${BUILDROOT_DEPLOY}" - umount "${BUILDROOT_ROOTFS}" - umount "${BUILDROOT_WORK}" - ' -} - ROOTFSDIR = "${IMAGE_ROOTFS}" ROOTFS_FEATURES += "clean-package-cache generate-manifest export-dpkg-status" ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${IMAGE_INSTALL}" diff --git a/meta/classes/ubi-img.bbclass b/meta/classes/ubi-img.bbclass index 5ce7686..c69ac4d 100644 --- a/meta/classes/ubi-img.bbclass +++ b/meta/classes/ubi-img.bbclass @@ -27,7 +27,5 @@ do_ubi_image() { sudo chroot ${BUILDCHROOT_DIR} /usr/sbin/ubinize ${UBINIZE_ARGS} \ -o '${PP_DEPLOY}/${UBI_IMAGE_FILE}' '${PP_WORK}/${UBINIZE_CFG}' sudo chown $(id -u):$(id -g) '${DEPLOY_DIR_IMAGE}/${UBI_IMAGE_FILE}' - - image_undo_mounts } addtask ubi_image before do_image after do_image_tools do_transform_template diff --git a/meta/classes/ubifs-img.bbclass b/meta/classes/ubifs-img.bbclass index ea06561..fcbfbbc 100644 --- a/meta/classes/ubifs-img.bbclass +++ b/meta/classes/ubifs-img.bbclass @@ -22,8 +22,6 @@ do_ubifs_image() { sudo chroot ${BUILDCHROOT_DIR} /usr/sbin/mkfs.ubifs ${MKUBIFS_ARGS} \ -r '${PP_ROOTFS}' '${PP_DEPLOY}/${UBIFS_IMAGE_FILE}' sudo chown $(id -u):$(id -g) '${DEPLOY_DIR_IMAGE}/${UBIFS_IMAGE_FILE}' - - image_undo_mounts } addtask ubifs_image before do_image after do_image_tools diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index f641312..170b83e 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -209,5 +209,4 @@ EOSUDO done ) 9>${MOUNT_LOCKFILE} EOSUDO - buildchroot_undo_mounts } diff --git a/meta/recipes-devtools/buildchroot/buildchroot.inc b/meta/recipes-devtools/buildchroot/buildchroot.inc index 0c1fb7f..5a2befb 100644 --- a/meta/recipes-devtools/buildchroot/buildchroot.inc +++ b/meta/recipes-devtools/buildchroot/buildchroot.inc @@ -49,14 +49,6 @@ rootfs_do_mounts_append() { EOSUDO } -rootfs_undo_mounts_append() { - sudo -s <<'EOSUDO' - mountpoint -q '${BUILDCHROOT_DIR}/downloads' && \ - umount ${BUILDCHROOT_DIR}/downloads && \ - rmdir --ignore-fail-on-non-empty ${BUILDCHROOT_DIR}/downloads -EOSUDO -} - ROOTFS_POSTPROCESS_COMMAND =+ "buildchroot_install_files" buildchroot_install_files() { sudo mkdir -p "${BUILDCHROOT_DIR}/home/builder" -- 2.25.1