From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6959801776553852928 X-Received: by 2002:aa7:cf8d:: with SMTP id z13mr16552936edx.104.1620455127849; Fri, 07 May 2021 23:25:27 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:704e:: with SMTP id ws14ls4025441ejb.3.gmail; Fri, 07 May 2021 23:25:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwX8rFevNe5IeSKJBB6zZ0dmBKGT9dc4Eorhuj8423cEqe1kzG5Mm06HNGh7TUCXkh1hqXC X-Received: by 2002:a17:906:3989:: with SMTP id h9mr14047823eje.309.1620455126970; Fri, 07 May 2021 23:25:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620455126; cv=none; d=google.com; s=arc-20160816; b=bt5IhzmKCVqiBqx2sau+xhkmDW8Siz2pKdCox//0GgeHbt0iWU4D5MNTRVQZYFyVWO QMDJJc7RwTxmCfHe/Z0XY1Ty5OMb2/AME/KXoB9nZxZZo/hHTWxlT3c+o2y+X0LmogGb nLibLczfAiz3v288b1WbNAn19s/4XVNDxZQgQHixjP2K+cGKpIHGLeBSlm0eWG6RnAls k8zZIc1HVMLIPUhriyZR4VLHSqyYF3MaGve0bjiz7mo37TPFScwcbhQ7OZIwxRPBg1x4 UhwM0UVFy+M2ebb7Jyp2KjMiK+nhxGw31kne8P2FGoPUFGdDaNcYcDsKPXeNwIWEMhlJ R+LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from; bh=ZG4MvkV5zy94VcN5PP70cY/gVsY1ZYCEF7koGPQ5wT8=; b=PKJ4VPcvny2j6UnK93wozdtGZMZT+ypA+4zWSTvUC9Tct24gOmaw6Txk8bCRlT8Iwh jbSH6o9HtUuRAnBioWGVcBsWUzAvX0ipO37GXoLVGXhXfYCinnp0DrvAu6eEE3SABcnz P6RGeoFQRj5dnz4i8bDCed5kbJQRG343Q3siy+Tou8nk2hsgd2wltj77aDP16N1v8G9K BIQwyulFcF/cNvQb0/ktwuxM6vBDwvqVM7we5aPnAcT0rD9kc6pqpyqXMQdr02HKTKWj owuOLPRkNuTj2Hf4S82MwyLahvLKKgaYxkOnDHEtuYLaMZhUt/lIwUl1o6Zz4g7k8e43 CCnQ== 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 di23si198146edb.0.2021.05.07.23.25.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 07 May 2021 23:25:26 -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-99-50-214-37.mgts.dynamic.pppoe.byfly.by [37.214.50.99] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 1486PPYh003793 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 8 May 2021 08:25:26 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v3 0/5] Rebuild mount logic Date: Sat, 8 May 2021 09:25:13 +0300 Message-Id: <20210508062518.83852-1-amikan@ilbers.de> X-Mailer: git-send-email 2.25.1 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: srNqVIZ4qnFW Mounting is perfomed very inconsistent currently in Isar. A lot of mount points are left after task execution and stays mounted until cleanup in build_completed hook. We already experienced issues with stuck forever on unmounting at "Couldn't unmount, retrying..." error. It is also quite easy to face with a lot of ramaining mounts after the failed or interrupted manual builds. This patchset implements unmounting paths after usage. In the cases of mount sharing corresponding request counting is performed, so real mount will be done only at first request, real unmount will be done only after the last task will try to unmount the path. Meantime build_completed will use emergency only, so following warning added to show something goes wrong. --- Changes since v2: - Prevent race conditions. - Fix building qemuarm64-stretch. - Minimize locks. - Cleanup counter files. - Unmount /proc/sys/fs/binfmt_misc also. Changes since v1: - Make all mounts be unmounted after use. - Warn about lost mounts after finish. Anton Mikanovich (5): dpkg: Make mount buildroot reliable buildchroot: Unmount buildchroot mounts if not needed rootfs: Unmount rootfs mounts if not needed wic: Unmount dirs after usage events: Warn if mounted paths left meta/classes/buildchroot.bbclass | 47 +++++++ meta/classes/dpkg-base.bbclass | 127 +++++++++++------- meta/classes/dpkg-gbp.bbclass | 8 +- meta/classes/dpkg.bbclass | 14 +- meta/classes/ext4-img.bbclass | 2 + meta/classes/fit-img.bbclass | 2 + meta/classes/image-tools-extension.bbclass | 2 + meta/classes/image.bbclass | 24 ++-- meta/classes/initramfs.bbclass | 2 + meta/classes/isar-events.bbclass | 1 + meta/classes/rootfs.bbclass | 62 ++++++++- meta/classes/ubi-img.bbclass | 2 + meta/classes/ubifs-img.bbclass | 2 + meta/classes/wic-img.bbclass | 10 ++ .../buildchroot/buildchroot.inc | 8 ++ 15 files changed, 232 insertions(+), 81 deletions(-) -- 2.25.1