p9_virtio_zc_request(9)
π p9_virtio_zc_request π
okay so bestie, welcome to the Kernel API Manual β¨ β this little cutie lives in p9_virtio_zc_request(9) and honestly? it's giving zero copy realness. let's get into it π«Ά
β¨ NAME β¨
p9_virtio_zc_request β issue a zero copy request π«
like, the whole point is you're issuing a request and nobody's copying your buffers around. iconic behavior only π
πΈ SYNOPSIS πΈ
int p9_virtio_zc_request (struct p9_client *client , struct p9_req_t
*req , struct iov_iter *uidata , struct iov_iter *uodata , int inlen ,
int outlen , int in_hdr_len );
copy it exactly, bestie, don't be cute with it π
π ARGUMENTS π
clientβ the client instance that's issuing the request. main character of this whole operation fr fr πreqβ the request that's actually getting issued. yes, this one, the one you brought π¦uidataβ user buffer that should be used for zero copy read πβ¨ no copying, we said what we saiduodataβ user buffer that should be used for zero copy write βοΈπ« also no copying, keep upinlenβ read buffer size. the length of the read situation πoutlenβ write buffer size. the length of the write situation πin_hdr_lenβ reader header size; this is the size of the response protocol data π§ lowkey important, don't skip it
π SEE ALSO π
- Kernel file
./net/9p/trans_virtio.c struct 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_probe(9)p9_virtio_create(9)p9_virtio_remove(9)
like a little friend group of functions, we love a linked list of besties π«Άπ
ngl bestie, this page is short and sweet β but every arg matters, so don't go forgetting your in_hdr_len on the way out π
and that's the whole vibe check π
this one's from ./net/9p, dated October 2026, and it's filed right back under p9_virtio_zc_request(9) β periodt πβ¨πΈ
π¦ 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