public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Anton Mikanovich <amikan@ilbers.de>
To: isar-users@googlegroups.com
Cc: Anton Mikanovich <amikan@ilbers.de>
Subject: [PATCH v3 0/5] Rebuild mount logic
Date: Sat,  8 May 2021 09:25:13 +0300	[thread overview]
Message-ID: <20210508062518.83852-1-amikan@ilbers.de> (raw)

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


             reply	other threads:[~2021-05-08  6:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-08  6:25 Anton Mikanovich [this message]
2021-05-08  6:25 ` [PATCH v3 1/5] dpkg: Make mount buildroot reliable Anton Mikanovich
2021-06-08  8:09   ` Henning Schild
2021-06-08  8:31     ` Anton Mikanovich
2021-06-08  8:49       ` Henning Schild
2021-07-01 11:55   ` Jan Kiszka
2021-05-08  6:25 ` [PATCH v3 2/5] buildchroot: Unmount buildchroot mounts if not needed Anton Mikanovich
2021-05-08  6:25 ` [PATCH v3 3/5] rootfs: Unmount rootfs " Anton Mikanovich
2021-05-08  6:25 ` [PATCH v3 4/5] wic: Unmount dirs after usage Anton Mikanovich
2021-05-08  6:25 ` [PATCH v3 5/5] events: Warn if mounted paths left Anton Mikanovich
2021-07-01 11:51   ` Jan Kiszka
2021-06-08  7:58 ` [PATCH v3 0/5] Rebuild mount logic Henning Schild
2021-06-08  8:15   ` Anton Mikanovich
2021-06-08  8:42     ` Henning Schild
2021-06-08  8:54     ` Henning Schild
2021-06-10  7:12       ` Anton Mikanovich
2021-06-10 15:02         ` Henning Schild
2021-06-21 15:54 ` Jan Kiszka
2021-06-22 14:40   ` Anton Mikanovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210508062518.83852-1-amikan@ilbers.de \
    --to=amikan@ilbers.de \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox