diff options
author | Martin Matuska <mm@FreeBSD.org> | 2022-11-17 01:00:05 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2022-11-17 01:01:47 +0000 |
commit | 5d42ef55dec1a8bef758b84905a9b953f86efd8d (patch) | |
tree | 7d77dad64230b3a781f99f3636df6cbc7448774d /sys/contrib | |
parent | 42af87b83bce90e5e2e3cf762917a6355376fd06 (diff) | |
download | src-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.c | 10 |
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? |