svc_rdma_copy_inline_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… svc_rdma_copy_inline_range(9) πŸ’…

okay so bestie, this is a Kernel API Manual moment, section 9, and the star of the show is svc_rdma_copy_inline_range β€” literally the glow-up your inline content needed ✨


🌸 NAME 🌸

svc_rdma_copy_inline_range β€” copy part of the inline content into pages πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

int svc_rdma_copy_inline_range (struct svc_rqst *rqstp , struct
       svc_rdma_recv_ctxt *head , unsigned int offset , unsigned int remaining
       );

πŸ’– ARGUMENTS πŸ’–

  • rqstp β€” the RPC transaction context, aka the main character of this whole operation πŸ‘‘
  • head β€” context for the ongoing I/O, holding it down in the background fr fr
  • offset β€” where in the inline content the region you're copying actually starts πŸ“
  • remaining β€” how long the region you're copying is, like the length check no cap πŸ’…

✨ DESCRIPTION ✨

so basically: take a page at a time from rqstp->rq_pages and copy the inline content from the Receive buffer into that page. stealing pages one at a time, iconic behaviour honestly 🫢

then update head->rc_curpage and head->rc_pageoff so that the next RDMA Read result will land contiguously with the copied content β€” like a perfectly queued group chat, everything in order, no gaps, slay 🌈

Return values, and listen up:

  • 0 β€” inline content was successfully copied, we ate and left no crumbs πŸ”₯
  • -EINVAL β€” offset or length was incorrect, the vibe check failed 😭

🌺 SEE ALSO 🌺

Kernel file ./net/sunrpc/xprtrdma/svc_rdma_rw.c β€” go read it iykyk πŸ“–

and the whole friend group, all of them, every single one πŸ’œ


mwah πŸ’‹ that's the page, bestie β€” brought to you by the fine folks at ./net/sunrpc/xprtrdma, dated October 2026, and this whole svc_rdma_copy_inline_range(9) situation is a mood. go forth and copy those ranges, ily πŸ§šπŸ’œ

πŸ“¦ where this page comes from