Bakul Shah <[email protected]> writes: > etcupdate panics since this commit: > [...] > #13 0xffffffff80c97cb5 in kern_statat (td=0xfffff8007e7fc000, > flag=<optimized out>, fd=<optimized out>, path=0x19e4d3242358 "/usr/src", > pathseg=UIO_USERSPACE, sbp=0xfffffe0054050d18) > at /home/FreeBSD/current/sys/kern/vfs_syscalls.c:2574
Which filesystem is /usr/src on? If by any chance you are using openzfs from ports, please either switch back to base or try the attached patch. DES -- Dag-Erling Smørgrav - [email protected]
>From 7d6691b4d31706d68a58b2e4f937989fae86ce6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= <[email protected]> Date: Mon, 18 Aug 2025 01:14:02 +0200 Subject: [PATCH 1/1] filesystems/openzfs-kmod: Set rdev to NODEV, not 0, on non-devices --- filesystems/openzfs-kmod/Makefile | 1 + .../files/patch-os_freebsd_zfs_zfs__ctldir.c | 11 +++++++++++ .../files/patch-os_freebsd_zfs_zfs__vnops__os.c | 11 +++++++++++ 3 files changed, 23 insertions(+) create mode 100644 filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__ctldir.c create mode 100644 filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__vnops__os.c diff --git a/filesystems/openzfs-kmod/Makefile b/filesystems/openzfs-kmod/Makefile index 7d60ccbd1dbf..2232bc62a2c7 100644 --- a/filesystems/openzfs-kmod/Makefile +++ b/filesystems/openzfs-kmod/Makefile @@ -1,5 +1,6 @@ PORTNAME= openzfs PORTVERSION= 2.3.3 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= filesystems sysutils MASTER_SITES= https://github.com/openzfs/zfs/releases/download/zfs-${PORTVERSION}/ diff --git a/filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__ctldir.c b/filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__ctldir.c new file mode 100644 index 000000000000..b1f16a13b81e --- /dev/null +++ b/filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__ctldir.c @@ -0,0 +1,11 @@ +--- os/freebsd/zfs/zfs_ctldir.c.orig 2025-06-19 16:34:36 UTC ++++ os/freebsd/zfs/zfs_ctldir.c +@@ -494,7 +494,7 @@ zfsctl_common_getattr(vnode_t *vp, vattr_t *vap) + + vap->va_uid = 0; + vap->va_gid = 0; +- vap->va_rdev = 0; ++ vap->va_rdev = NODEV; + /* + * We are a purely virtual object, so we have no + * blocksize or allocated blocks. diff --git a/filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__vnops__os.c b/filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__vnops__os.c new file mode 100644 index 000000000000..6121acd043f2 --- /dev/null +++ b/filesystems/openzfs-kmod/files/patch-os_freebsd_zfs_zfs__vnops__os.c @@ -0,0 +1,11 @@ +--- os/freebsd/zfs/zfs_vnops_os.c.orig 2025-06-19 16:34:36 UTC ++++ os/freebsd/zfs/zfs_vnops_os.c +@@ -1911,7 +1911,7 @@ zfs_getattr(vnode_t *vp, vattr_t *vap, int flags, cred + if (vp->v_type == VBLK || vp->v_type == VCHR) + vap->va_rdev = zfs_cmpldev(rdev); + else +- vap->va_rdev = 0; ++ vap->va_rdev = NODEV; + vap->va_gen = zp->z_gen; + vap->va_flags = 0; /* FreeBSD: Reset chflags(2) flags. */ + vap->va_filerev = zp->z_seq; -- 2.50.1
