nvmet_fc_rcv_ls_req(9)
π nvmet_fc_rcv_ls_req(9) β from the Kernel API Manual, bestie
okay so you found nvmet_fc_rcv_ls_req in the Kernel API Manual and you're like "what is this even." don't worry, i gotchu π«Ά this is the transport entry point that an LLDD calls when it receives an NVME LS request. that's it, that's the vibe. slay.
β¨ NAME β¨
nvmet_fc_rcv_ls_req β the transport entry point that an LLDD calls when it receives an NVME LS request. literally the doorbell of LS requests, no cap π
πΈ SYNOPSIS πΈ
int nvmet_fc_rcv_ls_req (struct nvmet_fc_target_port *target_port , void
*hosthandle , struct nvmefc_ls_rsp *lsrsp , void *lsreqbuf , u32
lsreqbuf_len );
like, yeah, it's a whole handful of arguments. hydrate, then read on π
π¦ ARGUMENTS π¦
target_portβ pointer to the (registered) target port that the LS was received on. registered, bestie, don't come at me with an unregistered one πhosthandleβ pointer to the host specific data. it gets stored iniod. that's its little home now πlsrspβ pointer to alsrspstructure, and it's the one used to reference the exchange that corresponds to the LS. iykyk π₯lsreqbufβ pointer to the buffer holding the LS Requestlsreqbuf_lenβ the length, in bytes, of the received LS request π
β DESCRIPTION β
so here's the tea: the nvmet-fc layer will copy the payload into an internal structure for processing. which means β and this is the iconic part β as soon as this routine completes, the LLDD may immediately free or reuse the LS request buffer that was passed in the call. no lingering, no "wait, are you still using that." she's done, she's moved on π β¨
and if this routine returns an error? the LLDD should abort the exchange. periodt. π
lowkey important: the payload copy is why you can yeet that buffer right after. don't go touching it again thinking it's still yours.
π SEE ALSO π
kernel file ./drivers/nvme/target/fc.c β plus these absolute main characters:
nvmet_fc_register_targetport(9)nvmet_fc_invalidate_host(9)nvmet_fc_unregister_targetport(9)nvmet_fc_rcv_fcp_req(9)nvmet_fc_rcv_fcp_abort(9)
and that's the whole page, bestie π this one lives under ./drivers/nvme/target, dated October 2026, and it's page nvmet_fc_rcv_ls_req(9) of the Kernel API Manual. go forth and receive those LS requests, you absolute icon π§π
π¦ 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