From 513710ed214f3d2c7a000ed41e08e500ec67fecd Mon Sep 17 00:00:00 2001 From: Jan Martin Mikkelsen Date: Tue, 21 Apr 2026 23:19:10 +0200 Subject: [PATCH] Fix "panic: cache_vop_rename: lingering negative entry" A FreeBSD ZFS filesystem with properties "utf8only=on" and "normalization=formD" consistently produces this panic when building the lang/perl-5.42.0 port. A ZFS file system with "utf8only=off" and "normalization=none" works fine. The cause of the panic seems to be incorrectly using the FreeBSD namecache when normalisation is present. This commit adds a predicate to prevent that. Reviewed-by: Brian Behlendorf Signed-off-by: Jan Martin Mikkelsen Closes #18430 --- module/os/freebsd/zfs/zfs_vnops_os.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/os/freebsd/zfs/zfs_vnops_os.c b/module/os/freebsd/zfs/zfs_vnops_os.c index b865c1639d6..425a01c86e6 100644 --- a/module/os/freebsd/zfs/zfs_vnops_os.c +++ b/module/os/freebsd/zfs/zfs_vnops_os.c @@ -3519,7 +3519,7 @@ zfs_do_rename_impl(vnode_t *sdvp, vnode_t **svpp, struct componentname *scnp, ZRENAMING, NULL)); } } - if (error == 0) { + if (error == 0 && zfsvfs->z_use_namecache) { cache_vop_rename(sdvp, *svpp, tdvp, *tvpp, scnp, tcnp); } }