From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6953625691033174016 X-Received: by 2002:a05:651c:482:: with SMTP id s2mr15230957ljc.397.1619017145367; Wed, 21 Apr 2021 07:59:05 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:7807:: with SMTP id t7ls501616ljc.1.gmail; Wed, 21 Apr 2021 07:59:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyjaV026CbST1a9NB3sy4bMJBuJhfjw+RO9QNb6JEA2OpYRUf0aqkVirH4SCn1MMQeXLOyt X-Received: by 2002:a05:651c:31b:: with SMTP id a27mr18159623ljp.449.1619017144377; Wed, 21 Apr 2021 07:59:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619017144; cv=none; d=google.com; s=arc-20160816; b=hFTP5XqnaTdBYXxnT40JNmcC4Pt8pHzu99a6mqcNFqnutnDzeNKHegcm0rSaSewbBZ EYKNZOt+FbhsOU/dvtDiukV8bTxlhRVAupoWTPeOW0cod2wi3r+Iyg5bnLeVMvU9lIHB y/jmzBSZXv3JhpE8pDKargC7qnAZP6TIMQd8Mxr3LOrVoGyLL9cYKg5ioAeMAw7mKJ5a EcYvSPFrvJIc9KKG+iBf2rMnPswbhtfOVEVWAbO9Su2iEt2WMiZMnYX04OpIn4HTa+au OA5jyBxmtzc2gBssoQvjm1ksqstkabgALaqL3RB7e4qv5y9oSzquD5iRIWgbqOPSFVE2 mmWw== 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=OLVzamDx1C6To2t3NduhouFfb3z3aOu75H5Q/qRXCZU=; b=qVqcdW8BQJ6zRN3XzFiyx6GhuLQt+DPuK6DjJoRwabTlyKZyWNFOfA8sH43gLnHrgt GRXEjw2WULTVdhqCUXW2L22f97x5tpN6ko0gb985m/z0AoiVEnyVF9j1tQFaPI346/1z 3i2hYJ9akejzjVPPfwXXbEHZ7lF6GHzyFWbaVK1c/q4ij+ExRyAqfPChkQxiX4xY/cOk tQDd8R6tKucIKsxyKBAxyr5ix1hjezAh3/SS17opf0sswQWPqGgBjNsX73GcvrxQwvsa h5AXe8jJBzGJrWg16CscZFcYbYfCMJ94jv6ea30kZS9Rc3Mn0vHVOeimq2bkdehoaINp EhSQ== 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 y11si204115lfg.8.2021.04.21.07.59.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 Apr 2021 07:59:04 -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-153-39-214-37.mgts.dynamic.pppoe.byfly.by [37.214.39.153] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 13LEx27b027015 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 21 Apr 2021 16:59:03 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v2 0/5] isar: Rebuild mount logic Date: Wed, 21 Apr 2021 17:58:50 +0300 Message-Id: <20210421145855.66257-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: yjB6Z+p6iTmM 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 v1: - Make all mounts be unmounted after use. - Warn about lost mounts after finish. Known issues: - Full CI fails for qemuarm64-stretch. Anton Mikanovich (5): dpkg: Make mount buildroot reliable buildchroot: Unmount buildchroot 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 | 58 ++++++++ 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 | 2 + meta/classes/rootfs.bbclass | 68 +++++++++- meta/classes/ubi-img.bbclass | 2 + meta/classes/ubifs-img.bbclass | 2 + meta/classes/wic-img.bbclass | 10 ++ .../buildchroot/buildchroot.inc | 7 + 15 files changed, 249 insertions(+), 81 deletions(-) -- 2.25.1