svc_rdma_read_chunk_range(9)
π svc_rdma_read_chunk_range(9)
okay so bestie, welcome to the Kernel API Manual β¨ β today's main character is svc_rdma_read_chunk_range, and honestly? she's a baddie. She builds RDMA Read WRs for a portion of a chunk. Not the whole chunk. A portion. She's precise like that. π
πΈ NAME πΈ
svc_rdma_read_chunk_range β Build RDMA Read WRs for portion of a chunk
β¨ SYNOPSIS β¨
int svc_rdma_read_chunk_range (struct svc_rqst *rqstp , struct
svc_rdma_recv_ctxt *head , const struct svc_rdma_chunk *chunk , unsigned
int offset , unsigned int length );
literally the whole signature, no cuts, no remixes. π«Ά
π¦ ARGUMENTS π¦
rqstpβ the RPC transaction context. the setting, the vibe, the whole situation πheadβ context for ongoing I/O. she's holding the lore for what's currently happening.chunkβ the parsed Call chunk to pull from. the parsed part is important, iykyk π§offsetβ offset of the region to pull. where we start, periodt.lengthβ length of region to pull. how much we're taking. no more, no less β¨
π₯ DESCRIPTION π₯
so like, this function goes and builds those RDMA Read WQEs for a slice of a chunk, and then it tells you how it went. and because this is kernel land, "how it went" is a whole mood board of return values π
Return values:
0β RDMA Read WQEs were successfully built. ate. no crumbs. π-EINVALβ there were not enough resources to finish π-ENOMEMβ therdma_rwcontext pool was exhausted π«-ENOTCONNβ posting failed (connection is lost) π-EIOβrdma_rwinitialization failed (DMA mapping, etc) π
ngl bestie, when you see anything other than 0 come back, that's your sign to actually read the error instead of scrolling past it. every single one of those has a different cause and a different fix. the lore matters. π
π SEE ALSO π
the Kernel file lives right here, go be nosy:
./net/sunrpc/xprtrdma/svc_rdma_rw.c
and here's the whole friend group, fr fr β every single one, in order:
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_prepare_reply_chunk(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_call_chunk(9), svc_rdma_read_special(9), svc_rdma_process_read_list(9)
okay that's the whole page, you're officially educated π this one came from ./net/sunrpc/xprtrdma, dated October 2026, manual section svc_rdma_read_chunk_range(9) β and yes she served, we love her, mwah πβ¨π¦
π¦ 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