STRUCT RPCRDMA_XDR_CURSOR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the struct rpcrdma_xdr_cursor(9) page from the Kernel API Manual πŸ’– this one is literally about a struct that tracks position within an xdr_buf for iterative MR registration, and yes it's giving very niche but very iconic energy ✨

πŸ’– NAME πŸ’–

struct rpcrdma_xdr_cursor β€” tracks position within an xdr_buf for iterative MR registration. Slay πŸŽ€

✨ SYNOPSIS ✨

here's the exact struct shape, bestie β€” no cap, copy it character for character:

       struct rpcrdma_xdr_cursor {
           const struct xdr_buf            *xc_buf;
           unsigned int                    xc_page_offset;
           unsigned int                    xc_flags;
        };

🌸 Members 🌸

  • xc_buf β€” the xdr_buf being iterated πŸ¦‹
  • xc_page_offset β€” byte offset into the page region consumed so far πŸ‘‘
  • xc_flags β€” combination of XC_* bits ⭐

πŸ’œ Description πŸ’œ

okay so each XC_*_DONE flag means this region has no remaining MR registration work. That condition holds both when the region has already been registered by a prior frwr_map call and when the region is excluded from this chunk type (pre-set at init time by rpcrdma_xdr_cursor_init) β€” iykyk 😭

and frwr_map treats the two cases identically: skip the region. periodt πŸ’…

πŸ”₯ SEE ALSO πŸ”₯


signed off with sparkles: source/version ./net/sunrpc/xprtrdma, date October 2026, page struct rpcrdma_xdr_cursor(9) 🫢✨

πŸ“¦ where this page comes from