rpcrdma_rep_put(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… rpcrdma_rep_put(9) β€” from the Kernel API Manual, bestie

okay so like, welcome to the group chat, this is rpcrdma_rep_put, and honestly? she's a little cleanup queen and we stan her for it 🧹✨


🌸 NAME 🌸

rpcrdma_rep_put β€” release that rpcrdma_rep right back to the free list, no cap


πŸ¦‹ SYNOPSIS πŸ¦‹

void rpcrdma_rep_put (struct rpcrdma_buffer *buf , struct rpcrdma_rep
*rep );

like, that's the whole signature. short. iconic. does exactly one thing. periodt πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • buf β€” the buffer pool, aka where all the reps hang out 🫢
  • rep β€” the rep we're releasing, bye bestie πŸ‘‹

✨ DESCRIPTION ✨

so here's the tea β˜• β€” the rep has this transient association with an rpc_rqst, right? it gets established by rpcrdma_reply_handler, and this function is where it gets torn down. and the whole point?? that association must not survive onto rb_free_reps. literally must not. not even a little 🚫

why, you ask? because rpcrdma_post_recvs pulls reps from the free list to re-post them, and if a free-listed rep had a non-NULL rr_rqst on it, that would imply the rep is still referenced by a req. and that's a whole mess we are not doing today πŸ™ˆ

so yeah, clean up the association before she goes back on the free list. vibe check passed, everybody goes home happy πŸ’–


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./net/sunrpc/xprtrdma/verbs.c β€” and the whole extended friend group:


and that's the whole page!! πŸŽ‰ this little icon lives in ./net/sunrpc/xprtrdma, the manual is dated October 2026, and it's brought to you by the Kernel API Manual β€” mwah, love u, go free those reps responsibly πŸ’œπŸ“πŸ§š

πŸ“¦ where this page comes from