aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2022-11-17 01:00:05 +0000
committerMartin Matuska <mm@FreeBSD.org>2022-11-17 01:01:47 +0000
commit5d42ef55dec1a8bef758b84905a9b953f86efd8d (patch)
tree7d77dad64230b3a781f99f3636df6cbc7448774d /sys/contrib
parent42af87b83bce90e5e2e3cf762917a6355376fd06 (diff)
downloadsrc-5d42ef55dec1a8bef758b84905a9b953f86efd8d.tar.gz
src-5d42ef55dec1a8bef758b84905a9b953f86efd8d.zip
zfs: workaround panic on rootfs mount
The import of OpenZFS PR 13758 causes a panic in zfsctl_is_node() if ZFS is mounting as root filesystem. This implements a workaround until the issue is resolved by authors.
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c
index b4c122bdf4c8..b0f4759eea4d 100644
--- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c
+++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c
@@ -1328,7 +1328,15 @@ zfs_mount(vfs_t *vfsp)
}
fetch_osname_options(osname, &checkpointrewind);
- isctlsnap = (zfsctl_is_node(mvp) && strchr(osname, '@') != NULL);
+
+ /*
+ * TBD: Mounting ZFS as root causes a panic in zfsctl_is_node()
+ * add temporary workaround until issue is resolved
+ */
+ if ((vfsp->vfs_flag & MNT_ROOTFS) != 0 &&
+ (vfsp->vfs_flag & MNT_UPDATE) == 0) {
+ isctlsnap = (zfsctl_is_node(mvp) && strchr(osname, '@') != NULL);
+ }
/*
* Check for mount privilege?