svc_rdma_read_special(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… svc_rdma_read_special β€” the Kernel API Manual page you actually want to read πŸŽ€

Okay so bestie, this one lives in the Kernel API Manual and it's lowkey iconic. It's called svc_rdma_read_special and yes, it is that girl β€” the one that builds RDMA Read WQEs to pull a Long Message. Let's get into it ✨


🌸 SYNOPSIS 🌸

int svc_rdma_read_special (struct svc_rqst *rqstp , struct
svc_rdma_recv_ctxt *head );

Like, that's the whole signature. She's a function. She returns an int. Slay.


πŸ¦‹ ARGUMENTS πŸ¦‹

  • rqstp β€” the RPC transaction context. Your main character struct, fr fr πŸ’–
  • head β€” the context for the ongoing I/O. She's holding the vibes together 🫢

✨ DESCRIPTION ✨

So here's the tea β˜•: the start of the data lands in the first page, just after the Transport header, and the rest of it lands in rqstp->rq_arg.pages. That's it. That's the whole layout bestie, no cap πŸ’…

Assumptions:

  • A PZRC is never sent in an RDMA_MSG message, though it's allowed by spec. (The spec said she could, but she simply didn't. Respect. πŸ™ˆ)

πŸ’€ Return values β€” the vibe check πŸ’€

  • 0 β€” RDMA Read WQEs were successfully built. Ate. πŸ”₯
  • -EINVAL β€” the client provided too many chunks or segments. Not her fault, the client is doing too much 😭
  • -ENOMEM β€” the rdma_rw context pool was exhausted. She's running on empty, bestie πŸ“
  • -ENOTCONN β€” posting failed (connection is lost). She ghosted you fr fr πŸ’”
  • -EIO β€” rdma_rw initialization failed (DMA mapping, etc). The DMA mapping said nope πŸ™ˆ
Heads up: those negative codes are errors, okay? Don't let a -EINVAL slide past you β€” check your chunks and segments before she gets mad 😀

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./net/sunrpc/xprtrdma/svc_rdma_rw.c β€” that's the source, go look, iykyk 🌈

And her whole friend group, because she does not work alone:

Like, the whole squad. Go read them too, bestie, they're all serving πŸ’œ


Okay that's the whole page!! Love that for us. 🧚

Fr fr, this is from ./net/sunrpc/xprtrdma, dated October 2026, in the Kernel API Manual β€” swiped straight from svc_rdma_read_special(9) itself. Byeee πŸ’–βœ¨

πŸ“¦ where this page comes from