From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7176574724112121856 X-Received: by 2002:a5d:494c:0:b0:242:3efe:7c82 with SMTP id r12-20020a5d494c000000b002423efe7c82mr17913010wrs.328.1670926512971; 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-Google-Smtp-Source: AA0mqf4Maj9ygcvgvO+pGKq5zhtChDoStnOhGnuohKkaNBbB+hVh30i7F2vCZRwF+R0K3yfWB+Me 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 Return-Path: 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; 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 Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 202212131015112530f8d069e3fa504a for ; Tue, 13 Dec 2022 11:15:11 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=henning.schild@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=3jP+xrxBxK7yuAuJvhclhXaksCs+GNPiO4SSMXoRomU=; b=TIoOdMu2gxc2EAoYB37d+CZxFDK8jtYE2OX72ZMNSt0OA7JrysOXb/npu6VdV9ioHZLjCa SwzfTP+ETBSjHXkYPx04TYmD1F+nmQlRErIk6ccsKh9XNUhL9OKP6vYgxKy90/eZ8HHrMKCY Wr0vWPr97VXgUifAODUS+H7CQzHvk=; 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 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-52304:519-21489:flowmailer X-TUID: jgBnc0S/xdK4 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 -- 2.37.4