nvmet_fc_rcv_ls_req(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 in iod. that's its little home now 🏠
  • lsrsp β€” pointer to a lsrsp structure, and it's the one used to reference the exchange that corresponds to the LS. iykyk πŸ”₯
  • lsreqbuf β€” pointer to the buffer holding the LS Request
  • lsreqbuf_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:


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