From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7018164937051602944 X-Received: by 2002:a5d:6da9:: with SMTP id u9mr41042198wrs.237.1637592315299; Mon, 22 Nov 2021 06:45:15 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:f1c2:: with SMTP id z2ls877677wro.2.gmail; Mon, 22 Nov 2021 06:45:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJwxSYkitIkREVsTrBQaNYCkE+nyizaF5OfNNcID716CZ/b+VKXpbjPWLqIsWglZO4fLFdWG X-Received: by 2002:adf:fc90:: with SMTP id g16mr37522493wrr.53.1637592314409; Mon, 22 Nov 2021 06:45:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1637592314; cv=none; d=google.com; s=arc-20160816; b=frLe60vU/d11YJQUxhfUKoWJW1u45DMQsBjqn6hSwy6msKgS/BlqejiMq2R0OHFrI+ /WuDi6DQYV51hsziBh8+nNGvEOkxic5mjRWPcq9uMbmXU5Zqj3kEpiJ6+m8zqNqUvODS 3sM4X38GvX720G17Zjk7DFdB8gkSgpxuBKC/KAZ5yYsLJajKNr3oZZKhR3hkW64bLNzo zuMOykqjtOC5Feq8zkDJ8JXzt0O9yjn6lmz1pIKXZpj3e5lZHTj4A+rKyvfGld1DUgGv MQj1BDAmn2XM1S19tdzwOKs7qm0PwTheuGy9/NgpWUQKV4ONTPCu1ppKZi3Xyjfjvmtk O3Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-language:content-transfer-encoding:in-reply-to:mime-version :user-agent:date:message-id:cc:from:references:to:subject; bh=GXlr3n134fUBLgEtQreT9G8KQYk7FJ6D8jnr1Oqsy+4=; b=qMFg3dYxrybQWDU8X/ea/6uAu/DuyURdPFYsx2ZpZeITyB6UOsSTdiT7RX+dJVHPWE woYPEMy+1lqU9l6bTEkp2k5YP62d0Q/83kdyjfxlW4TMCzmtqNoIdhWKfgDn/gdAZtnc n4kYzWkC3+gH4JXKR8Al6UrOPW7OGUqrZlmpemk8Wwaqzxvf0Z3l5t2jMUFh/F6sCk8p /htD038XTrFybpjRW/AWPRNA7q5nc1ALQWEAoCbT/o2qwaoFh9V226jOtstsNzll7Nzb XpYULzO5h2Ze+i/R8hYeIakuMfI/PrqGu2Ea7n6mp9nVekMJ6/6DSPa1JEwdIcjIeuQS nHaw== 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 x20si423248wrg.3.2021.11.22.06.45.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 22 Nov 2021 06:45:14 -0800 (PST) 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 [192.168.67.164] (mm-237-77-214-37.mgts.dynamic.pppoe.byfly.by [37.214.77.237] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 1AMEjCRF004937 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Nov 2021 15:45:13 +0100 Subject: Re: [RFC PATCH 0/5] Refactor mount logic To: Adriaan Schmidt , isar-users@googlegroups.com References: <20211012130413.1719424-1-adriaan.schmidt@siemens.com> From: Anton Mikanovich Cc: Baurzhan Ismagulov Message-ID: <8f944f4f-7a6c-6f49-6d63-626416f952b6@ilbers.de> Date: Mon, 22 Nov 2021 17:45:07 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20211012130413.1719424-1-adriaan.schmidt@siemens.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US 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: 8ei9uyYUp/Rc 12.10.2021 16:04, Adriaan Schmidt wrote: > After some reports on problems with mounting and unmounting, here is a proposal > to refactor the whole mount logic. > > The main idea is to have all actual mounting happen in mounts.bbclass, which > also takes care of things like reference counting. > Any task that needs mounts uses a `do_my_task[mounts] = "..."` varflag annotation. > > One thing that may need some thoughts: the original rootfs_do_mounts also > writes /etc/resolv.conf. This proposal introduces another varflag > (`do_my_task[buildchroot] = "1"`) for tasks that need that. Alternatively, > we could simply provide a function that needs to be called explicitly. > > Current status: the code works, but there may be some issues with cleanup/unmounting. > The existing ("legacy") cleanup code in isar-events still finds active mounts, > which should actually be covered by cleanup code in mounts.bbclass. > > > Adriaan Schmidt (5): > oe imports in central location > meta: refactor containerization > meta: add oe.utils > meta: add mounts class > meta: refactor to use the new mounting mechanism > > meta/classes/base.bbclass | 28 + > meta/classes/buildchroot.bbclass | 52 +- > meta/classes/cpiogz-img.bbclass | 3 +- > meta/classes/dpkg-base.bbclass | 49 +- > meta/classes/dpkg-gbp.bbclass | 2 - > meta/classes/dpkg.bbclass | 4 +- > meta/classes/ext4-img.bbclass | 3 +- > meta/classes/fit-img.bbclass | 4 +- > .../classes/image-container-extension.bbclass | 3 +- > meta/classes/image-sdk-extension.bbclass | 6 +- > meta/classes/image-tools-extension.bbclass | 4 +- > meta/classes/image.bbclass | 30 +- > meta/classes/initramfs.bbclass | 2 +- > meta/classes/isar-events.bbclass | 4 +- > meta/classes/mounts.bbclass | 271 +++++++++ > meta/classes/patch.bbclass | 5 - > meta/classes/rootfs.bbclass | 50 +- > meta/classes/ubi-img.bbclass | 3 +- > meta/classes/ubifs-img.bbclass | 3 +- > meta/classes/vm-img.bbclass | 7 +- > meta/classes/wic-img.bbclass | 31 +- > meta/conf/bitbake.conf | 2 +- > meta/lib/oe/utils.py | 569 ++++++++++++++++++ > .../isar-bootstrap/isar-bootstrap.inc | 43 +- > .../buildchroot/buildchroot.inc | 8 +- > 25 files changed, 976 insertions(+), 210 deletions(-) > create mode 100644 meta/classes/mounts.bbclass > create mode 100644 meta/lib/oe/utils.py > There are at least 6 cases needs to be checked after any mount rework: 1) There is no while loop issue during workdir umount 2) Fail on parallel build do not affect other recipes 3) Workdir should be unmounted in case build fail 4) Fail during mounting should not left paths unmounted 5) There is no `Target is busy` issues during high load 6) Host /dev is not get corrupted after `device is busy` issues All of that issues were raised before and we need to be sure any rebuild is safe. That's why we will check those 6 cases on the next version before going forward. Will provide test case details if needed. -- Anton Mikanovich Promwad Ltd. External service provider of ilbers GmbH Maria-Merian-Str. 8 85521 Ottobrunn, Germany +49 (89) 122 67 24-0 Commercial register Munich, HRB 214197 General Manager: Baurzhan Ismagulov