pcl_process_nonpayloads(9)
π pcl_process_nonpayloads(9) β Kernel API Manual, but make it make sense π«Ά
okay so bestie, we're in the Kernel API Manual today and the star of the show is pcl_process_nonpayloads. sit down, hydrate, and let's get into it β¨
πΈ NAME πΈ
pcl_process_nonpayloads β the little function that goes and processes the non-payload regions inside @xdr π
π SYNOPSIS π
int pcl_process_nonpayloads (const struct svc_rdma_pcl *pcl , const
struct xdr_buf *xdr , int (*actor)(const struct xdr_buf *, void *) ,
void *data );
like, four things in, one int out. classic. π
π¦ ARGUMENTS π¦
pclβ the chunk list you're gonna process. it's aconst struct svc_rdma_pcl *, so hands off, no editing bestie πxdrβ thexdr_bufthat's getting processed. this is the main character of the whole operation fr fr β¨actorβ the function pointer that gets invoked on each non-payload region. signature isint (*actor)(const struct xdr_buf *, void *), so it takes the buffer and your data, and hands you back anintπ«Άdataβ the arguments that get passed along toactor. it's avoid *, so it can literally be anything you need it to be π
π₯ DESCRIPTION π₯
okay so the whole vibe here: this mechanism has to ignore not only the result payloads that were already sent via RDMA Write, but also the XDR padding for those payloads that the upper layer has added. both. not one. both. periodt π
Assumptions (and yes they're assumptions, protect them at all costs): the xdr->len and ch_position fields are aligned to 4-byte multiples. that's the deal, that's the rule, no cap π
β RETURN β
On success you get zero. iconic. but also watch out for:
-EMSGSIZEβ this is when the XDR buffer overflows π- or, alternatively, the return value of
actorβ because whatever your actor function says goes, and it gets passed straight up π«‘
π SEE ALSO π
- Kernel file
./net/sunrpc/xprtrdma/svc_rdma_pcl.c pcl_free(9)pcl_alloc_call(9)pcl_alloc_read(9)pcl_alloc_write(9)pcl_check_read_chunk_positions(9)
go read all of them, i'll wait π
and that's the whole page bestie, no notes, ate and left no crumbs π
β¨ this little number lives under ./net/sunrpc/xprtrdma, dated October 2026, and it's filed as pcl_process_nonpayloads(9) β mwah, see you in the next manpage ππ¦πΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms