rtrs_clt_request(9)
π rtrs_clt_request(9) π
okay bestie, welcome to the Kernel API Manual β¨ you're literally about to read the page for rtrs_clt_request β the one that asks for a data transfer to/from the server via RDMA. iykyk π«Ά
β¨ NAME β¨
rtrs_clt_request β request data transfer to/from server via RDMA π
π SYNOPSIS π
int rtrs_clt_request (int dir , struct rtrs_clt_req_ops *ops , struct
rtrs_clt_sess *clt , struct rtrs_permit *permit , const struct kvec *vec
, size_t nr , size_t data_len , struct scatterlist *sg , unsigned int
sg_cnt );
π¦ ARGUMENTS π¦
dirβREAD/WRITE. pick your vibe, no in-between πopsβ the callback function to be called as confirmation, and the pointer. so like, who do we ping when it's done, and with what πΈcltβ Session. the whole connection situation π«permitβ Preallocated permit. you grab it before, you don't just spawn one mid-request ποΈvecβ Message that is sent to server together with the request. Sum oflenof allvecelements limited to<= IO_MSG_SIZE. Since the msg is copied internally it can be allocated on stack. stack-allocated is lowkey fine here, not me gatekeeping π§Ίnrβ Number of elements invec. count 'em π’data_lenβ length of data sent to/from server πsgβ Pages to be sent/received to/from server. the actual payload pages bestie ποΈsg_cntβ Number of elements in thesgπ’β¨
π₯ RETURN π₯
0β Success π₯³<0β Error π
fr fr, anything below zero is a no-go, check it before you celebrate π
π DESCRIPTION π
On dir=READ the rtrs client will request a data transfer from Server to client. The data that the server will respond with will be stored in sg when the user receives an RTRS_CLT_RDMA_EV_RDMA_REQUEST_WRITE_COMPL event. yes, that event name is a whole mouthful, we know, and yes, it's spelled exactly like that β don't @ me β
On dir=WRITE the rtrs client will rdma write data in sg to server side. iconic behaviour honestly π
π₯
π SEE ALSO π
Kernel file ./drivers/infiniband/ulp/rtrs/rtrs-clt.c β go read the source, bestie, it's giving main character energy ππ
rtrs_clt_get_permit(9)rtrs_clt_put_permit(9)rtrs_permit_to_clt_con(9)rtrs_clt_change_state(9)get_next_path_rr(9)get_next_path_min_inflight(9)get_next_path_min_latency(9)rtrs_clt_init_req(9)rtrs_clt_failover_req(9)init_path(9)rtrs_clt_open(9)rtrs_clt_close(9)rtrs_clt_query(9)
okay that's the whole page, you ate that π this lil manpage lives in ./drivers/infiniband/ulp/rtrs, dated October 2026 β mwah, slay, periodt πππ¦
π¦ 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