Skip to content

Fix FreeBSD "panic: cache_vop_rename: lingering negative entry"#18430

Merged
behlendorf merged 1 commit intoopenzfs:masterfrom
jm-mikkelsen:master
Apr 21, 2026
Merged

Fix FreeBSD "panic: cache_vop_rename: lingering negative entry"#18430
behlendorf merged 1 commit intoopenzfs:masterfrom
jm-mikkelsen:master

Conversation

@jm-mikkelsen
Copy link
Copy Markdown
Contributor

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 adds a predicate to prevent that.

This has been tested in a FreeBSD 16-CURRENT environment. Without this patch, building lang/perl-5.42.0 produced a consistent panic on when running llvm-strip. With the patch it works consistently without a panic.

@behlendorf behlendorf requested a review from amotin April 15, 2026 19:06
@behlendorf behlendorf added the Status: Code Review Needed Ready for review and testing label Apr 15, 2026
@behlendorf
Copy link
Copy Markdown
Contributor

@jm-mikkelsen can you address the checkstyle failure and update this.

error: commit message body contains line over 72 characters
make: *** [Makefile:15005: commitcheck] Error 1
make: *** Waiting for unfinished jobs....
Error: Process completed with exit code 2.

@behlendorf behlendorf added Status: Accepted Ready to integrate (reviewed, tested) and removed Status: Code Review Needed Ready for review and testing labels Apr 20, 2026
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.

Signed-off-by: Jan Martin Mikkelsen <janm-github@transactionware.com>
@github-actions github-actions Bot removed the Status: Accepted Ready to integrate (reviewed, tested) label Apr 20, 2026
@jm-mikkelsen
Copy link
Copy Markdown
Contributor Author

@behlendorf The checkstyle test seems to pass now. Let me know if you need anything else.

@behlendorf behlendorf added the Status: Accepted Ready to integrate (reviewed, tested) label Apr 20, 2026
@behlendorf behlendorf merged commit 513710e into openzfs:master Apr 21, 2026
35 of 43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Status: Accepted Ready to integrate (reviewed, tested)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants