svc_rdma_pre..._reply_chunk(9)
β¨ svc_rdma_prepare_reply_chunk(9) β¨
okay bestie, welcome to the Kernel API Manual π this one is a whole little function in the sunrpc/xprtrdma world and honestly it's giving "quietly doing the most." let's get into it π«Ά
πΈ NAME πΈ
svc_rdma_prepare_reply_chunk β literally builds the WR chain for writing the Reply chunk π₯ that's it, that's the job, and she does it well
π SYNOPSIS π
int svc_rdma_prepare_reply_chunk (struct svcxprt_rdma *rdma , const
struct svc_rdma_pcl *write_pcl , const struct svc_rdma_pcl *reply_pcl ,
struct svc_rdma_send_ctxt *sctxt , const struct xdr_buf *xdr );
π¦ ARGUMENTS π¦
rdmaβ the controlling RDMA transport π she's the main character, everyone reports to herwrite_pclβ the Write chunk list, hand-delivered by the client πreply_pclβ the Reply chunk, also from the client, also iconic πsctxtβ the Send WR resources β¨ all the stuff you need to actually push a send out into the worldxdrβ thexdr_bufholding an RPC Reply π the actual payload vibes
π DESCRIPTION π
so what does she return? glad you asked π
She hands back a non-negative number β that's the count of bytes the chunk consumed. slay. but if things go sideways (and they might, ngl), here's the whole mood ring of negative returns:
-E2BIGβ the payload was larger than the Reply chunk π too much stuff, not enough room-EINVALβ the client provided too many segments π like, ma'am, that's too many-ENOMEMβ therdma_rwcontext pool was exhausted π out of contexts, out of patience-ENOTCONNβ posting failed because the connection is lost π« it's gone, bestie-EIOβrdma_rwinitialization failed (DMA mapping, etc.) β‘ the low-level stuff said no
no cap, every one of those error codes matters β check which one you got before you start guessing π
β SEE ALSO β
the kernel file in question, for the girls who like to read the source:
./net/sunrpc/xprtrdma/svc_rdma_rw.c
and the whole friend group π :
svc_rdma_destroy_rw_ctxts(9)svc_rdma_rw_ctx_init(9)svc_rdma_cc_init(9)svc_rdma_cc_release(9)svc_rdma_write_chunk_release(9)svc_rdma_reply_chunk_release(9)svc_rdma_reply_done(9)svc_rdma_write_done(9)svc_rdma_wc_read_done(9)svc_rdma_iov_write(9)svc_rdma_pages_write(9)svc_rdma_xb_write(9)svc_rdma_prepare_write_list(9)svc_rdma_build_read_segment(9)svc_rdma_build_read_chunk(9)svc_rdma_copy_inline_range(9)svc_rdma_read_multiple_chunks(9)svc_rdma_read_data_item(9)svc_rdma_read_chunk_range(9)svc_rdma_read_call_chunk(9)svc_rdma_read_special(9)svc_rdma_process_read_list(9)
and that's the whole page, bestie β¨ this cutie lives in ./net/sunrpc/xprtrdma and she was dated October 2026 β go off, calendar queen ππ¦π
π¦ 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