From patchwork Tue Dec 13 10:15:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Henning Schild X-Patchwork-Id: 2291 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 13 Dec 2022 11:15:18 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f59.google.com (mail-wm1-f59.google.com [209.85.128.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 2BDAFIIb000507 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 13 Dec 2022 11:15:18 +0100 Received: by mail-wm1-f59.google.com with SMTP id p14-20020a05600c204e00b003cf4cce4da5sf2837984wmg.0; Tue, 13 Dec 2022 02:15:18 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1670926513; cv=pass; d=google.com; s=arc-20160816; b=Q3kWRlqpMrCOxEPbYQCkWFldh+eAG0Aiyj59/SBBl93HaJCD8B6ya7JPYmcF/gAoIw W+vFnwMzPWHr8A9DgAHgjDg3npO2IlNCWsZj49uMop6oHUPp3mjgmE5B/ScHu/L+Qx7k pdRNFKecuO63I/jmC81afjm9S5zIjcsHMgyxb6ZPvSNo8SFs7sOK0Sbjz1GIa5pMnbCj mhxMhNSI5HBOyu8/B2fL8leqlHHhvi/VTOkrDKtxbgvkQWEbJyJE6Psyvk1tTYFpabnF spuog+mrmpcyh04X1hlm3F5vWkB3JndJe1ZqJCD8ULElzkgyly8gbt7eyCA/baLQ8YXL eNYQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:feedback-id:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:sender :dkim-signature; bh=3UltL8AMx3wNnRx1pckQOmjlmqeegawVx8aSiMfQ4LU=; b=TViRqpbBnGzPFrjbRt9J+HKsMPH2bE/HVoRiUzjmiBXz9jIRw6CL2VIuQ7K++7odzf bdX5GU2tYz29yZGwgrzf88Ile+7R/jzdvToZ/66i3ZKHQIEGrILayeFKHXMPXiWYYZS3 5EJpLzifZY0R94n0DR/bJZmAkLtD1oB6WY3e8PgR1UftTHMHcbd6tLCeo4vz162yj5Lq tSa1nDB86Urlbxm/zpogF9G5fgCn7DlnbWVNbdZQW249Mab0UfiOvBrZzlU65LL2aRpj IN7Ox9Hc1ehR2ZQDbs7O3BHIkYeNbg2fXO3IT//DkRVXm6pa0Qjq/mkMB7i28O5uRUFN x3Ng== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TIoOdMu2; spf=pass (google.com: domain of fm-52304-202212131015112530f8d069e3fa504a-pqiosz@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-52304-202212131015112530f8d069e3fa504a-PqIOSZ@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:feedback-id:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=3UltL8AMx3wNnRx1pckQOmjlmqeegawVx8aSiMfQ4LU=; b=HbAhZ3Ki8cbEGQ0AGIgfJ4rqvm6GDNNoyRB5WSIgz0wPXszzCRqwWAHsg4fPNFH6Q8 E6z0o0bIlBQLFTXnXLsOaVU/2KLKqNdQ1oElRCOaGdiRHQC26ZS5Ksnn0ynR0L1Dl+2G Zofs/ifmNXqpZx7HWwVzhce2Y35fgJ1KR2T5hdta+hD0460SvKcZavIIsKZO912UYfn3 +dLDyycnR+OU0sEenlWiO7SvaDXmhpoBiEtTCIC8d5Art0rrtNUhI90zRqOLtmulMsR3 aAMQ+jpmRO3afrBFhQ6SpRkyJkcwP1m6wpgxecmgxgk8BqEV041/FzniYz1kiONeoia1 2VhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=3UltL8AMx3wNnRx1pckQOmjlmqeegawVx8aSiMfQ4LU=; b=7gSFhtSkrCz6N67SC/0AzArbk9wWLvpP0NMPcNyTuJjFCcbFRMCGb6fEOeFV5nkKbm AE23kYFhY2v5U5CF3uj5CsCTdF9dQXnjhvjjzG8z527Lyynx2lsx3h+SUUx0IweE2z5d ehIzo8p7mooP+2T8odpoIQnMHukh214zIVu11FMEv8ej7QBeswZRlZvJo2h6dt0M/VEg PA81McF6CSqaxuGjNVfNfK2VT9g8rTpwcNUF7Fod7tycuCR2EMOt7PyLsyUgqEPal3Cu qAOxzX1WWul14cr6ka/D381KAoWa9iRQ21zdRBkfOAd78JRzDNQVmFNmvAHq3sZ/7KPk LxcQ== Sender: isar-users@googlegroups.com X-Gm-Message-State: ANoB5pkxmvPRl3n/WNC5EmO/9fG6qTZJ78SKEKpD4bpwN/Smv/HmFeHL LbvqU7E0VbilnxdRvC360+E= X-Google-Smtp-Source: AA0mqf6rJ8VF76DvuoBjWslvUeS5mQZlFTjBFXT40K7amvUxJbJplXX2OcJqk+46e+T8OnkvVDcI0Q== X-Received: by 2002:a05:600c:3d0c:b0:3d0:58bb:9fa3 with SMTP id bh12-20020a05600c3d0c00b003d058bb9fa3mr162577wmb.39.1670926512873; Tue, 13 Dec 2022 02:15:12 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:2253:b0:3c6:c1ff:1fd with SMTP id a19-20020a05600c225300b003c6c1ff01fdls11775526wmm.2.-pod-canary-gmail; Tue, 13 Dec 2022 02:15:11 -0800 (PST) X-Received: by 2002:a05:600c:a56:b0:3d1:d396:1adc with SMTP id c22-20020a05600c0a5600b003d1d3961adcmr18557304wmq.14.1670926511782; Tue, 13 Dec 2022 02:15:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670926511; cv=none; d=google.com; s=arc-20160816; b=otNyI+RVbnsxMEVzUolWlGynoBAjLV3XgAM7rK9LodWZtGr8JYbMbe9snzJRqPSisl t7lIslgrxpPlUmO9+E3IDHJvfqiqeXkkkeDA1Lvyye1/Ox99CEdNOh4kvJ6TeyCwYLXn E5MOJ3Z9f/IvsslMDdB/8R9qfQU75PDSeLkHYUsLuvlpNpIM6wdJVA5Bgw2nBaROU959 34OW9ta7QEcznXT/pq15w+kJt1DIxUuOI6TH3mNu5N65wgGAmB7xb1VGayIoOQFIuu5Y wo+qOwdPrEUmorL3nwBQ0vm/DJq8iIChObJFdK7Bqoco0B4PRd4ndlSWTMhnKsThaAAo 0kVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=3jP+xrxBxK7yuAuJvhclhXaksCs+GNPiO4SSMXoRomU=; b=Au9pwrmL7BIT0MD7DKUdxxA1UBLZi0rdx32+Yw6Q1SItr3JuNJhnW7JKf/kYM3IbQd 1OLgFn4Ic3Uw1IXxC/q23MFtnRDhOnPyxM//Dynfn4d6IqV6/UzZJI2E9eWCevivyuMS 8Ih+8r3Rb2oLPmgNRH/x08GVddh+rnNSyK2dO5MhydHY5Ps8Y9hwGLLYkHr3BeTQXZi/ j+aaZoMi9C26WUW9j7KTeFY3KRyVCG65SZwj0Mv3fcdIy+XcjRJ1uiY4JO5suICRwW0L YT+uKfV3TzJBccnTlEhrGk3oIG/crs9k0BSnQz91lPcPc52qqXyqJDBlcZqNsPCssuam zTfA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TIoOdMu2; spf=pass (google.com: domain of fm-52304-202212131015112530f8d069e3fa504a-pqiosz@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-52304-202212131015112530f8d069e3fa504a-PqIOSZ@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id j4-20020a05600c42c400b003d2051f87ffsi590009wme.2.2022.12.13.02.15.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Dec 2022 02:15:11 -0800 (PST) Received-SPF: pass (google.com: domain of fm-52304-202212131015112530f8d069e3fa504a-pqiosz@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 202212131015112530f8d069e3fa504a for ; Tue, 13 Dec 2022 11:15:11 +0100 From: henning.schild@siemens.com To: isar-users@googlegroups.com Cc: felix.moessbauer@siemens.com, "Roberto A . Foglietta" , Joe MacDonald , Henning Schild , Joe MacDonald Subject: [PATCH v4 1/5] expand-on-first-boot: support resizing a btrfs Date: Tue, 13 Dec 2022 11:15:05 +0100 Message-Id: <20221213101509.535-2-henning.schild@siemens.com> In-Reply-To: <20221213101509.535-1-henning.schild@siemens.com> References: <20221213101509.535-1-henning.schild@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-52304:519-21489:flowmailer X-Original-Sender: henning.schild@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TIoOdMu2; spf=pass (google.com: domain of fm-52304-202212131015112530f8d069e3fa504a-pqiosz@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-52304-202212131015112530f8d069e3fa504a-PqIOSZ@rts-flowmailer.siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_PASS 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Henning Schild This adds support for resizing btrfs filesystems if they are in that last partition. It also prepares for potentially other filesystems to come in the future by introducing a switch-case. The mounting logic is taken from the systemd-growfs patches we had to revert again. Some filesystems need to online for resizing, but in order to find the filesystem of a partition (without udev) mounting it and letting the kernel detect seems a good idea. Suggested-by: Roberto A. Foglietta Suggested-by: Joe MacDonald Signed-off-by: Henning Schild --- .../files/expand-last-partition.sh | 35 ++++++++++++++++--- 1 file changed, 31 insertions(+), 4 deletions(-) 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 93eddda2a3b7..0bc686059718 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 @@ -62,8 +62,35 @@ if grep -q x-systemd.growfs /etc/fstab; then exit 0 fi -# Do not fail resize2fs if no mtab entry is found, e.g., -# when using systemd mount units. -export EXT2FS_NO_MTAB_OK=1 +# some filesystems need to be mounted i.e. btrfs, but mounting also helps +# detect the filesystem type without having to wait for udev +# mount $LAST_PART out of tree, so we won't conflict with other mounts +MOUNT_POINT=$(mktemp -d -p "" "$(basename "$0").XXXXXXXXXX") +if [ ! -d "${MOUNT_POINT}" ]; then + echo "Cannot create temporary mount point ${MOUNT_POINT}." >&2 + exit 1 +fi +mount "${LAST_PART}" "${MOUNT_POINT}" + +ret=0 +# Determine the filesystem type and perform the appropriate resize function +FS_TYPE=$(findmnt -fno FSTYPE "${MOUNT_POINT}" ) +case ${FS_TYPE} in +ext*) + # Do not fail resize2fs if no mtab entry is found, e.g., + # when using systemd mount units. + export EXT2FS_NO_MTAB_OK=1 + resize2fs "${LAST_PART}" + ;; +btrfs) + btrfs filesystem resize max "${MOUNT_POINT}" + ;; +*) + echo "Unrecognized filesystem type ${FS_TYPE} - no resize performed" + ret=1 + ;; +esac -resize2fs "${LAST_PART}" +umount "${MOUNT_POINT}" +rmdir "${MOUNT_POINT}" +exit $ret