Date: Mon, 18 Aug 2025 01:17:55 +0200 From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@FreeBSD.org> To: Bakul Shah <bakul@iitbombay.org> Cc: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: vfs: Assert that st_rdev is NODEV for non-devices Message-ID: <86o6sdczbw.fsf@ltc.des.dev> In-Reply-To: <EF5FE8FC-26B3-4AA2-BB37-1A634A6EAD97@iitbombay.org> (Bakul Shah's message of "Sun, 17 Aug 2025 15:54:08 -0700") References: <EF5FE8FC-26B3-4AA2-BB37-1A634A6EAD97@iitbombay.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] Bakul Shah <bakul@iitbombay.org> 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 - des@FreeBSD.org [-- Attachment #2 --] >From 7d6691b4d31706d68a58b2e4f937989fae86ce6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= <des@FreeBSD.org> 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.1home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86o6sdczbw.fsf>
