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
This commit is contained in:
committed by
GitHub
parent
6562851406
commit
513710ed21
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user