Page MenuHomeFreeBSD

p9fs: Move UMA zone initialization to VFS module lifecycle
ClosedPublic

Authored by arichardson on Apr 18 2026, 5:56 AM.
Tags
None
Referenced Files
F169051129: D56492.diff
Mon, Aug 31, 6:22 AM
F169042095: D56492.id175815.diff
Mon, Aug 31, 5:33 AM
Unknown Object (File)
Sun, Aug 30, 10:39 PM
Unknown Object (File)
Sun, Aug 30, 9:26 PM
Unknown Object (File)
Sat, Aug 29, 6:27 AM
Unknown Object (File)
Sat, Aug 29, 5:20 AM
Unknown Object (File)
Fri, Aug 28, 9:18 PM
Unknown Object (File)
Fri, Aug 28, 5:15 AM
Subscribers

Details

Summary

Previously, the UMA zones required for 9P requests (p9fs_buf_zone,
p9fs_req_zone, etc.) were initialized and destroyed in the
virtio_p9fs transport module. This caused issues when unloading
the core p9fs module.

This change moves p9_init_zones() and p9_destroy_zones() into
p9fs_init() and p9fs_uninit() inside p9fs_vfsops.c so that they
are correctly bound to the VFS filesystem module lifecycle via
vfs_modevent, aligning p9fs with standard FreeBSD VFS semantics.

Found while fixing https://github.com/CTSRD-CHERI/cheribsd/issues/2617.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 72313
Build 69196: arc lint + arc unit