p9_virtio_create(9)
π NAME π
p9_virtio_create β bestie, this one allocates a brand new virtio channel β¨
(it's from the Kernel API Manual, iykyk π)
πΈ SYNOPSIS πΈ
int p9_virtio_create (struct p9_client *client , struct fs_context *fc );
π¦ ARGUMENTS π¦
clientβ the client instance that's out here invoking this transport, main character energy fr πfcβ the filesystem context, that's it, that's the whole vibe π«Ά
π§ DESCRIPTION π§
Okay so what this does is it sets up a transport channel for 9p communication π like, that's the whole job.
Right now we only match the first available channel β no cap, that's genuinely all it does at the moment π. But eventually (future us is gonna slay, trust) we could look up alternate channels by matching devname versus a virtio_config entry. So like, the door's open for that β¨.
And the way it keeps things chill: we use a simple reference count mechanism to ensure that only a single mount has a channel open at a time π₯. One mount, one channel, periodt. No fighting over resources, we don't do that here π.
Not gonna lie, the "only the first available channel" part is the lowkey catch β it's literally the current behaviour, so don't go expecting alternate channel lookups to work just yet π.
β SEE ALSO β
- Kernel file
./net/9p/trans_virtio.cstruct virtio_chan(9) p9_virtio_close(9)req_done(9)pack_sg_list(9)pack_sg_list_p(9)p9_virtio_request(9)p9_virtio_zc_request(9)p9_virtio_probe(9)p9_virtio_remove(9)
Go read those, they're all iconic in their own way ππ
Okay that's the whole page bestie, ily, go touch some kernel code π§ββοΈπ
This one lives under ./net/9p and it's dated October 2026 β screenshot it, frame it, whatever, it's giving archival icon behavior πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms