From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7174822613449965568 X-Received: by 2002:a05:6512:2820:b0:4b5:88f0:72d1 with SMTP id cf32-20020a056512282000b004b588f072d1mr3472591lfb.446.1670594284702; Fri, 09 Dec 2022 05:58:04 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3456:b0:4b5:3cdf:5a65 with SMTP id j22-20020a056512345600b004b53cdf5a65ls2803677lfr.2.-pod-prod-gmail; Fri, 09 Dec 2022 05:58:03 -0800 (PST) X-Google-Smtp-Source: AA0mqf4TjjwIcmUY0CNqgvWDg78+UZAl81LhMEgBW5Qi7lqGla/AWyumuaHtXm1L/nZWjpo64r/a X-Received: by 2002:a05:6512:ad2:b0:4b5:5384:aa3b with SMTP id n18-20020a0565120ad200b004b55384aa3bmr2020234lfu.50.1670594283460; Fri, 09 Dec 2022 05:58:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1670594283; cv=pass; d=google.com; s=arc-20160816; b=v0kEWT9trfPoTwu6P2p0t9zZXCTjCxD7p02MAwY1M7Oc3UHMVeXIBxx9yXE6hOACB9 4i7sYLBoKj40LbIlPTgK+W+FMIcGk9MBnl+T5/2iWHd7asSNJPTLu6Lyw8VMa0Ch5R53 AtXP0xzWbKaH8L5Frdotd9HYC0gXa8bXcJbyTdpEmwmjKIzwXQvYNF6qGxlR8dFPkPS9 i/pp+YUFmH1PgF623mFP8XZEPDnhoKrfzuB12fHRMox4clILKg/SfcTSPPBR/2tC2tc4 odSepSlHIouzR+ChJlQPnk6NZkv7Ag1AUH86bwgrvQQIxTlzRt02fVIpXwpeWTCcWsDV paaw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:subject:cc:to:from:date:dkim-signature; bh=3bRUBm0zuXP8Fepz/MBVHT1uPrqmvmed/KgRA7EgOHQ=; b=OOsYQ+/9QaWhL9XX8vKr/1taJlmCENyWj6oIc6smv+5x1XqZP8C+dyG0gGtdYretNN qbcwKrt4SC4f7zqt5W6mQJfnWlg4okvUOkm+OM6qkQseg4D8q1XOVVedu59Sr9G1Vkth Fa+QugEIYrFQq9QfX3ivAscEZxGWhp4N12cuEJJGI/6QKYXNoKFkDa2v0MzZuzXCmkyB i6OYfUj8swii97g40ZnsPkZACpqC3Izw3W/ZIWZjlyBWGw9mgIhe4kXPK/SiwUr9nfyR Vm0oK5gFyL8YWsH/3beLHhPU67DOUL1UqkrAaNrHvF/OhD8kOdPOPfi+JDwKkgZjZ9zq Kxzg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=YriDlOTR; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 2a01:111:f400:fe0d::606 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0606.outbound.protection.outlook.com. [2a01:111:f400:fe0d::606]) by gmr-mx.google.com with ESMTPS id s15-20020a056512214f00b004b5767257ecsi84944lfr.8.2022.12.09.05.58.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Dec 2022 05:58:03 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 2a01:111:f400:fe0d::606 as permitted sender) client-ip=2a01:111:f400:fe0d::606; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=YriDlOTR; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 2a01:111:f400:fe0d::606 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ys2w+l8X0fp7dwkN3ao8hpsUUukqHp0Augcqy4NefLaIZofDLNNbA9DL/V2KybInxPUH9zbGGVdL3BLA8eEDqnhpZYPM+sqRUaV5B8NDlsZ4m3h9ug4dwgXuf5m/yA4Gwud2OtLXiRARjh8cH4upQ1V70tMnZDRyxI7tOy7aEvFHUJzVxAkdXNwjXrwkHbC5FXGW5H+MZHVrzHBV1CM2wHWqJtUsmbtzeBgP/1QSq4+hnmDmDK6nImnUPQpp8gK7cyRkdsTbi7SUj4S7jD8I3HKN+cSZcODih0ilSb+z7v0xQWeqq7/wsGoSA+EolnnkjpVMTNILEAld3tJ9A9osIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3bRUBm0zuXP8Fepz/MBVHT1uPrqmvmed/KgRA7EgOHQ=; b=H6BJPle8uEd0fTPU9gRTMO5pBScJObiTC9nyM99/nF0IBLmoO1wCAIIEeN3hKFUznWhzkfiIf4WgsS3wOSvU1VYwysNFDSB3kgxvninMGsnnD5ZwgPOb0aaOBH6QhzgEBmwstN9mYc6VID1pN4XyIlzG8VnklgAjiv3IXcrdwk0U4xPiz3q5EnotEUPe1wp0axXVkFqDRCpxd4dGZxfB+LsOmTzL5cHUmobJ5lTzpRv5C1inRGqSuyZQNp9MaxJF21PmanJh8Xr31nYl38QiQ+iZNzRzTuwT1Ox7vCRIuVaP+Z+tGbfzxIZpy/L67OA3DHJ9vgqIGzHClw+nmwTiYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3bRUBm0zuXP8Fepz/MBVHT1uPrqmvmed/KgRA7EgOHQ=; b=YriDlOTRTlGa2xpP+QMCWKjXeGSEzF/aXBuc6l0wlC6k3KObyA657+CiBi198Lqk/iUkmilWgS8ezTzBMmHojmYxJqFEXowwGCQkL9v0U3jxlMewE+Edxrkqg6FzvgAlGzRu4ghf3N9hGy7hXFdsBEKgcu0APY3/i3UAYnt9jrYsXBTogUX+JNStZOrjpkFm1pKO//Wyj/Q0+ElAXFjJEYBpFHQ/UXAr0DSjJ6WV0XU+rUllpifgcxmYRN1ya9RP11aa/kjq3MDiR6ZzvthWzE6ydAAg6qAVBpVWDhkOfmAD1CP/0pD2jtuKHJZr2isGfZJk4BhEiSd1LhcG3AyrIg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) by VI1PR10MB3182.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:137::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.16; Fri, 9 Dec 2022 13:58:02 +0000 Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::bdf0:fdeb:f955:bc79]) by PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::bdf0:fdeb:f955:bc79%3]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022 13:58:02 +0000 Date: Fri, 9 Dec 2022 14:57:52 +0100 From: Henning Schild To: "T. Schaffner" Cc: , , , Subject: Re: [PATCH v3 1/1] expand-on-first-boot: wait for udev to create symlink Message-ID: <20221209145752.0597a256@md1za8fc.ad001.siemens.net> In-Reply-To: <20221209112441.87669-2-tobias.schaffner@siemens.com> References: <20221209112441.87669-1-tobias.schaffner@siemens.com> <20221209112441.87669-2-tobias.schaffner@siemens.com> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH0PR03CA0043.namprd03.prod.outlook.com (2603:10b6:610:b3::18) To PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) Return-Path: henning.schild@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR10MB5780:EE_|VI1PR10MB3182:EE_ X-MS-Office365-Filtering-Correlation-Id: 92f49c65-993d-4e96-d063-08dad9ed6311 X-LD-Processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rLuuzlI1HS2pubbtIZPm4Txd1Fy+nKX8RksxahxXOem/+AQWQbkiXXXol3Q0gbHYfMF9Ew7RFjAwuAM+vM7ZV/Gs5sQ+OIORT9sZ4WQRx7EZy4v5fCf4pn9tj/uFAd0yG9fVumfcHH4NTneRb1vFuioa3HrGIkfrKXbqB6m1NXmMC2wGO0jn6xAhjbY+a9BD2m0W6S5iiQjTHDUyFY9G/auEsREPyF6xTI+fFEqOSi73be8jN3ggAtqQnwZqAhWQfWBh9v8PU1DDAPBTpqhcRilh3uuxIzj7HYzdAydn8det2YaSNapB4yMncz5GIW1MCcWfFEVYVVxEb/WOQp70zBchcI08uiKiw547oOGhe6psGFfaX2ygHMFRM1z5ywIRa0vRrp//BhUlOSyUhSlsaxp/vdtVrOrfZLLIBfTDafY/kcrU8IwBX732AIIGOGdsosVgzGCmhq1Br5xvlR0pP5svTITVm9kmYXoTLGv0G4V6+EHoXuk+YbJhdr9jG846c+rY1E6W9Y9jpHncLpB16p7csZUT09/moPz2J/ZorHL5hlj3r641Gbs7G+LzbqXwSbJsvECVX5nBLg3ZVRPnSzlPWqjvOjFrnMpOc9Qe1EB5sVSfZMaOhwmytsQN0o/2DXgGwdLpbfJOmWtSxCYxWQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199015)(2906002)(38100700002)(82960400001)(6862004)(44832011)(8936002)(5660300002)(83380400001)(1076003)(86362001)(66899015)(54906003)(6636002)(316002)(6486002)(478600001)(186003)(9686003)(6512007)(6666004)(41300700001)(26005)(8676002)(4326008)(6506007)(66556008)(66946007)(66476007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?J4aiu98o0SOomlVOqHImm3tiI+K/7f8ee+LMIb9mQIipYhJ8cB2zzo2Ajeuk?= =?us-ascii?Q?6gNLGA9XRAd1srnNra67s/XY9WRZhjuEghQN0/MBUjctsziRWKJ9uq2oNFzM?= =?us-ascii?Q?LJcUomyNeorO/ghIQpFcQNI8fjdJxgpHDjfeMWHbexFXg4fqT3460COpsgI+?= =?us-ascii?Q?axPLp6tzCctfPpxvhD29U6OQ6P6eqySGe7zR7skJwmmtZVDSlwJCCxmTyBap?= =?us-ascii?Q?jpEWn1e+2aekcDE59xrtbkpCICwgGNjjHKkNJJBNWexhbOYChNndjqTwn8qP?= =?us-ascii?Q?bxYvnKQhb+i4sSFbImr89Xg3o1NpP8cAvUIfU2Ia83HVwd6Ligp8bowPV/2D?= =?us-ascii?Q?oUJDtTgVpdDIa933okWi4+IHvqkjxjvdj7og1CgAj87x0pcyVrDI7uYGiHUH?= =?us-ascii?Q?t/cEqLS1PK3OUKk5lQpzxyDdDBbqmBYEeunPv67pRDERvCFfWguEtyGtbSyv?= =?us-ascii?Q?6RuUeWXyVgxhvJR3UGRUz27ivNotePKht53/cM5HcejbkkJU9DdcBzHxUBQu?= =?us-ascii?Q?ZtmjFo9ti7XclCs9kR84T6Y1pKyFJh1W7Or/0PrjYtm94M9ozX0V/WDB7FUD?= =?us-ascii?Q?cccm9siHPlrrdzZXJN/cYVFNcsB8TUfhwPSeSdPosszpEd0IgOzfOE5YeQyl?= =?us-ascii?Q?rtnZ4cJk1oXLU7vVvXQpNgpKBWLfKfzwtOfLBallUT+FFZitXz5X68Ir3US8?= =?us-ascii?Q?0LUEFIzz/L3KT7mMVbQttQlshtFrgxLdUIUbIwQCYQPoVdk7MYX5qdfFdmWI?= =?us-ascii?Q?f/jQ1v/OKwOVPTyPLf7QphEgd44MD3etNIX6qZEagDicG26lpHvub19rbQDy?= =?us-ascii?Q?ZWfZ5ra4JFoicetX3916Yo2PzkPTVogYcoxBDotJfe5XvvZKThwKWMM9pV54?= =?us-ascii?Q?j016b6LNpEzk/PPAmND2vtMiKXGOaVvzGsgmfuEtEiOTZw8VKfbdWa1xs/mL?= =?us-ascii?Q?3JAfor1gn5PkcU3t/+BzRMyVqx0DA+q24d/NK8nlDlqL+W9M7YK8MQGYGK2i?= =?us-ascii?Q?qassJZsLpfBQUud8Tz+A2mFV4+uYHlyCfBIgQ8g8eMuJGRg+klp50qXA9fQB?= =?us-ascii?Q?549/lRfTvf0cPP3FbKN7FEoQ/8ANREbxdBor2ipXvvAkWMx4Jga7vR/2ux1b?= =?us-ascii?Q?YsU3ckpa7Heg1OYqfRrRhb0R8hGX0Z3gOXba2nxDT/5M7RSwAf/6RfpJ5Ffg?= =?us-ascii?Q?vuIAZJ6mi+EKQTvzscrMJAssxObkAi3Yg02gqhm63TWPczNvttuZ6aC8QKIr?= =?us-ascii?Q?vIvr+OUl7oiA66qh8/jPFwkOAWvpfkT7oTqmc60SIcX2zsB1qQ70KxqfnsUA?= =?us-ascii?Q?3A3B9bWlYfMsl3gRRaWj34Zo9NxbGZL+cD/ka4+I3fhBcGQYbvXiBS96+BNZ?= =?us-ascii?Q?ZKzQqKwkVE4jgMU7jI7KvB0DK8orb0Ap9SgFUuGXc8/U+1gMACHRSR0N5SfD?= =?us-ascii?Q?A7dYnxSOgZZFZPJQvrOLWVIWxqTz6dq6llgrO6VGsVclWKXd5eoGne3oTMqM?= =?us-ascii?Q?In1RU8AdCGSuQZ6itH7h7eOHQbwkw82YbXi9/5u57M6KMFBNlmVbT5M5TLjf?= =?us-ascii?Q?YlMYlG9NCFHEvm5fNFj9mZ3bX7LXeHrWAMwcPoz9baG/btb7ppbpopFKD7fB?= =?us-ascii?Q?Tg=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: 92f49c65-993d-4e96-d063-08dad9ed6311 X-MS-Exchange-CrossTenant-AuthSource: PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 13:58:02.1759 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0swNNf+ep4R57Y8xp3HXNLg/ORg/nDfGrKKDaJBXxdTGakpN/uxVYISXMcZnzlFgkMDWBnZoptLg9jiHKskc9YxQzBs3SOGjL9u1rmUSf+w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB3182 X-TUID: pfm/pWZqSWV9 Am Fri, 9 Dec 2022 12:24:41 +0100 schrieb "T. Schaffner" : > From: Tobias Schaffner > > systemd-growfs depends on a symlink to the partition of the filesystem > that should be resized. This symlink is created by udev in > /dev/block/. > > If this symlink is not yet created for example because systemd-udev is > not up yet systemd-growfs will fail. > > We could use Require and After to depend on the systemd-udev service > but this could again create a race condition if udev is up but not > fast enough after the partx -u. > > Run systemd-growfs periodically until the symlink appears. > > Signed-off-by: Tobias Schaffner > --- > .../files/expand-last-partition.sh | 21 > ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) > > diff --git > a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh > b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh > index 57055cc..4d78e4f 100755 --- > a/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh > +++ > b/meta/recipes-support/expand-on-first-boot/files/expand-last-partition.sh > @@ -80,6 +80,25 @@ if [ ! -d "${MOUNT_POINT}" ]; then fi mount > "${LAST_PART}" "${MOUNT_POINT}" -/lib/systemd/systemd-growfs > "${MOUNT_POINT}" + > +EXIT_CODE=1 > +# If systemd-udevd if not up yet or was not fast enough the symlinks > in +# /dev/block/ might be missing. Retry in that case. > +# This retry logic is only needed up to systemd-version 252 > +for run in $(seq 0 50); do > + if GROWFS_OUTPUT=$(/lib/systemd/systemd-growfs "${MOUNT_POINT}" > 2>&1); then > + EXIT_CODE=0 > + break > + else: > + if ! echo ${GROWFS_OUTPUT} | grep -q "^Failed to open > \"/dev/block/.*\": No such file or directory$"; then > + break > + fi > + fi > + sleep 0.1 > +done I wanted to review this and suggest some changes to better deal with systemd 252. But i am actually getting the strong feeling that we should simply go back to calling the respective filesystem resize tool. The whole story with repart did not work out so we thought we could at least use some bits (growfs) to support i.e. btrfs. But that thing now has this weird mount, and that funny udev problem ... who knows what comes next ... I propose to go back to resize2fs and add btrfs support with a switch-case. Still the whole story told us how repart/growfs can be used and we now have the wic patches needed for that and the bail-outs so the two methods do not start conflicting. We just did not manage to write a generic isar helper package. Maybe i will propose to switch one target over to repart/growfs ... but honestly, i do not trust that stuff too much at the moment and am not sure it has the maturity one might want. Henning > + > +echo "${GROWFS_OUTPUT}" > umount "${MOUNT_POINT}" > rmdir "${MOUNT_POINT}" > +exit ${EXIT_CODE} > +