rpcrdma_inline_fixup(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the rpcrdma_inline_fixup(9) page from the Kernel API Manual πŸ’– this is the one that scatters inline received data into rqst's iovecs, and it's iconic ✨

🌸 NAME 🌸

rpcrdma_inline_fixup β€” Scatter inline received data into rqst's iovecs πŸŽ€

✨ SYNOPSIS ✨

unsigned long rpcrdma_inline_fixup (struct rpc_rqst *rqst , char *srcp ,
       int copy_len , int pad );

πŸŽ€ ARGUMENTS πŸŽ€

  • rqst β€” the controlling RPC request, aka the main character here πŸ‘‘
  • srcp β€” points to the RPC message payload in the receive buffer, periodt πŸ’…
  • copy_len β€” the remaining length of receive buffer content, fr fr
  • pad β€” the Write chunk pad bytes needed; it's zero for pure inline 🌸

πŸ¦‹ DESCRIPTION πŸ¦‹

The upper layer has <highkey>already</highkey> set the maximum number of bytes it can receive in each component of rq_rcv_buf, bestie. Those values are set in the head.iov_len, page_len, tail.iov_len, and buflen fields. ✨

Unlike the TCP equivalent (xdr_partial_copy_from_skb), in many cases this function simply updates iov_base pointers in rq_rcv_buf to point directly to the received reply data, to avoid copying reply data. No cap, it's giving "point straight at the data" energy πŸ˜­πŸ’–

It returns the count of bytes which had to be memcopied. That's the whole mood 🫢

🌈 SEE ALSO 🌈

Kernel file: ./net/sunrpc/xprtrdma/rpc_rdma.c πŸ“


xoxo, this page's source/version is ./net/sunrpc/xprtrdma, dated October 2026 β€” go be iconic with your inline data, bestie πŸ’…πŸ«ΆπŸŒΈ

πŸ“¦ where this page comes from