all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH zfsonlinux] fix #4440: cherry-pick patch for mountpoint=legacy on /
@ 2023-01-02 14:25 Stoiko Ivanov
  2023-01-02 16:12 ` [pve-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Stoiko Ivanov @ 2023-01-02 14:25 UTC (permalink / raw)
  To: pve-devel

As reported having set 'mountpoint=legacy' on the root dataset (for a
default install this would be 'rpool/ROOT/pve-1') for mounting through
e.g. /etc/fstab breaks booting in initramfs

The cherry-picked patch is already applied to zfs-2.1.8-staging
upstream so will be included in the next zfs point release.

reproduced the issue on a VM with ZFS on root by:
* booting into a PVE 7.3 iso (to have zfs and an inactive
  rpool/ROOT/pve-1)
* `zpool import -ocachefile=none -N -f rpool
* `zfs set mountpoint=legacy rpool/ROOT/pve-1`
* `mount -t zfs rpool/ROOT/pve-1 /mnt
* `echo "rpool/ROOT/pve-1 / zfs defaults 0 0" >> /mnt/etc/fstab`
* `zpool export rpool`
* reboot - the boot breaks with zfs-initramfs 2.1.7-pve1 but works
  with this patch applied

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---

The current changes on zfs-2.1.8-staging could all be applied without too
much expected fallout (dracut fixes, aarch64 fixes, tests and testconfig)
If preferred I can send an update of the zfsmodule to the current tip of this
branch instead

 ...itramfs-Fix-legacy-mountpoint-rootfs.patch | 58 +++++++++++++++++++
 debian/patches/series                         |  1 +
 2 files changed, 59 insertions(+)
 create mode 100644 debian/patches/0012-initramfs-Fix-legacy-mountpoint-rootfs.patch

diff --git a/debian/patches/0012-initramfs-Fix-legacy-mountpoint-rootfs.patch b/debian/patches/0012-initramfs-Fix-legacy-mountpoint-rootfs.patch
new file mode 100644
index 00000000..e26941d2
--- /dev/null
+++ b/debian/patches/0012-initramfs-Fix-legacy-mountpoint-rootfs.patch
@@ -0,0 +1,58 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ryan Moeller <ryan@iXsystems.com>
+Date: Mon, 12 Dec 2022 13:23:06 -0500
+Subject: [PATCH] initramfs: Fix legacy mountpoint rootfs
+
+Legacy mountpoint datasets should not pass `-o zfsutil` to `mount.zfs`.
+Fix the logic in `mount_fs()` to not forget we have a legacy mountpoint
+when checking for an `org.zol:mountpoint` userprop.
+
+Reviewed-by: Richard Yao <ryao@gentoo.org>
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Signed-off-by: Ryan Moeller <ryan@iXsystems.com>
+Closes #14274
+(cherry picked from commit 786ff6a6cb33226b4f4292c7569b9093286f74d9)
+(cherry picked from commit f28c7302cb77a8cb6112690d0eed0bf4adeeae15)
+Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
+---
+ contrib/initramfs/scripts/zfs | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+diff --git a/contrib/initramfs/scripts/zfs b/contrib/initramfs/scripts/zfs
+index 9169adf5f..c7548fa07 100644
+--- a/contrib/initramfs/scripts/zfs
++++ b/contrib/initramfs/scripts/zfs
+@@ -331,25 +331,21 @@ mount_fs()
+ 		# Can't use the mountpoint property. Might be one of our
+ 		# clones. Check the 'org.zol:mountpoint' property set in
+ 		# clone_snap() if that's usable.
+-		mountpoint=$(get_fs_value "$fs" org.zol:mountpoint)
+-		if [ "$mountpoint" = "legacy" ] ||
+-		   [ "$mountpoint" = "none" ] ||
+-		   [ "$mountpoint" = "-" ]
++		mountpoint1=$(get_fs_value "$fs" org.zol:mountpoint)
++		if [ "$mountpoint1" = "legacy" ] ||
++		   [ "$mountpoint1" = "none" ] ||
++		   [ "$mountpoint1" = "-" ]
+ 		then
+ 			if [ "$fs" != "${ZFS_BOOTFS}" ]; then
+ 				# We don't have a proper mountpoint and this
+ 				# isn't the root fs.
+ 				return 0
+-			else
+-				# Last hail-mary: Hope 'rootmnt' is set!
+-				mountpoint=""
+ 			fi
+-		fi
+-
+-		# If it's not a legacy filesystem, it can only be a
+-		# native one...
+-		if [ "$mountpoint" = "legacy" ]; then
+ 			ZFS_CMD="mount.zfs"
++			# Last hail-mary: Hope 'rootmnt' is set!
++			mountpoint=""
++		else
++			mountpoint="$mountpoint1"
+ 		fi
+ 	fi
+ 
diff --git a/debian/patches/series b/debian/patches/series
index d2770d39..50ec4e77 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@
 0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
 0010-arcstat-Fix-integer-division-with-python3.patch
 0011-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
+0012-initramfs-Fix-legacy-mountpoint-rootfs.patch
-- 
2.30.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] applied: [PATCH zfsonlinux] fix #4440: cherry-pick patch for mountpoint=legacy on /
  2023-01-02 14:25 [pve-devel] [PATCH zfsonlinux] fix #4440: cherry-pick patch for mountpoint=legacy on / Stoiko Ivanov
@ 2023-01-02 16:12 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2023-01-02 16:12 UTC (permalink / raw)
  To: Proxmox VE development discussion, Stoiko Ivanov

Am 02/01/2023 um 15:25 schrieb Stoiko Ivanov:
> As reported having set 'mountpoint=legacy' on the root dataset (for a
> default install this would be 'rpool/ROOT/pve-1') for mounting through
> e.g. /etc/fstab breaks booting in initramfs
> 
> The cherry-picked patch is already applied to zfs-2.1.8-staging
> upstream so will be included in the next zfs point release.
> 
> reproduced the issue on a VM with ZFS on root by:
> * booting into a PVE 7.3 iso (to have zfs and an inactive
>   rpool/ROOT/pve-1)
> * `zpool import -ocachefile=none -N -f rpool
> * `zfs set mountpoint=legacy rpool/ROOT/pve-1`
> * `mount -t zfs rpool/ROOT/pve-1 /mnt
> * `echo "rpool/ROOT/pve-1 / zfs defaults 0 0" >> /mnt/etc/fstab`
> * `zpool export rpool`
> * reboot - the boot breaks with zfs-initramfs 2.1.7-pve1 but works
>   with this patch applied
> 
> Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
> ---
> 
> The current changes on zfs-2.1.8-staging could all be applied without too
> much expected fallout (dracut fixes, aarch64 fixes, tests and testconfig)
> If preferred I can send an update of the zfsmodule to the current tip of this
> branch instead
> 

no, works fine as is. I prefer pulling targeted fixes, at least if coming from
a (unreleased) staging branch/version like here.

>  ...itramfs-Fix-legacy-mountpoint-rootfs.patch | 58 +++++++++++++++++++
>  debian/patches/series                         |  1 +
>  2 files changed, 59 insertions(+)
>  create mode 100644 debian/patches/0012-initramfs-Fix-legacy-mountpoint-rootfs.patch
> 
>

applied, thanks!




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-01-02 16:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-02 14:25 [pve-devel] [PATCH zfsonlinux] fix #4440: cherry-pick patch for mountpoint=legacy on / Stoiko Ivanov
2023-01-02 16:12 ` [pve-devel] applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal