Skip to content

Commit 513710e

Browse files
authored
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 <behlendorf1@llnl.gov> Signed-off-by: Jan Martin Mikkelsen <janm-github@transactionware.com> Closes #18430
1 parent 6562851 commit 513710e

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

module/os/freebsd/zfs/zfs_vnops_os.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3519,7 +3519,7 @@ zfs_do_rename_impl(vnode_t *sdvp, vnode_t **svpp, struct componentname *scnp,
35193519
ZRENAMING, NULL));
35203520
}
35213521
}
3522-
if (error == 0) {
3522+
if (error == 0 && zfsvfs->z_use_namecache) {
35233523
cache_vop_rename(sdvp, *svpp, tdvp, *tvpp, scnp, tcnp);
35243524
}
35253525
}

0 commit comments

Comments
 (0)