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));
|
ZRENAMING, NULL));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (error == 0) {
|
if (error == 0 && zfsvfs->z_use_namecache) {
|
||||||
cache_vop_rename(sdvp, *svpp, tdvp, *tvpp, scnp, tcnp);
|
cache_vop_rename(sdvp, *svpp, tdvp, *tvpp, scnp, tcnp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user