Page MenuHomeFreeBSD

lib9p: Make it a private library
ClosedPublic

Authored by markj on Aug 13 2026, 3:55 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Sep 9, 1:51 AM
Unknown Object (File)
Mon, Sep 7, 5:34 PM
Unknown Object (File)
Mon, Sep 7, 2:14 PM
Unknown Object (File)
Mon, Sep 7, 1:27 AM
Unknown Object (File)
Sun, Sep 6, 3:06 PM
Unknown Object (File)
Sun, Sep 6, 2:15 PM
Unknown Object (File)
Sun, Sep 6, 9:34 AM
Unknown Object (File)
Sun, Sep 6, 2:20 AM
Subscribers

Details

Summary

lib9p was imported to add a 9p server to bhyve (and I believe this was
the original motivation for writing it in the first place). Its
external interfaces are kind of strange (from first-hand experience
using it to implement an inetd-based 9p server) and undocumented.
Moreover, upstream has been inactive for over five years.

I suspect there are no third-party consumers. Let's make it a private
library for now. If we get more code written against it and some
documentation, we can revisit this decision.

PR: 297499

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Aug 13 2026, 3:55 PM

I'll request an exp-run for this.

The change is directly motivated by D58633, but I've wanted to do this since I tried writing a 9p server using this library earlier this year. The library interfaces don't give you much control, e.g., you're forced to use some statically sized thread pool to serve requests. It'd be nice to simplify and clean up the interface, and that's much easier to do if this library is private.

Yeah, I think this is reasonable (once the exp-run completes), we can make it a public library later on if there's a reason for it.

This revision is now accepted and ready to land.Aug 13 2026, 4:52 PM
jhb added a subscriber: jhb.

I presume the QEMU 9pfs support doesn't depend on this?

In D58828#1353034, @jhb wrote:

I presume the QEMU 9pfs support doesn't depend on this?

Definitely not, QEMU has its own 9p server.

This revision was automatically updated to reflect the committed changes.