lpfc_nvmet_prep_ls_wqe(9)
π lpfc_nvmet_prep_ls_wqe(9) π
okay so bestie, welcome to the Kernel API Manual β this page is literally all about lpfc_nvmet_prep_ls_wqe(9), and it is giving βget that lpfc wqe data structure allocated and preparedβ energy. slay. π
πΈ NAME πΈ
lpfc_nvmet_prep_ls_wqe β allocate and prepare a lpfc wqe data structure. thatβs the assignment, and it ate. β¨
β¨ SYNOPSIS β¨
struct lpfc_iocbq * lpfc_nvmet_prep_ls_wqe (struct lpfc_hba *phba ,
struct lpfc_async_xchg_ctx *ctxp , dma_addr_t rspbuf , uint16_t rspsize
);
π ARGUMENTS π
phbaβ pointer to a host N_Port data structure. host N_Port moment, no cap. π«Άctxpβ context info for NVME LS Request. yes, the context bestie.rspbufβ DMA buffer of NVME command. buffer vibes.rspsizeβ size of the NVME command. literally the size.
π DESCRIPTION π
okay so hereβs the vibe: this routine allocates a lpfc-WQE data structure from the driver lpfc-WQE free-list, then prepares the WQE with the parameters passed into the routine β all so the discovery state machine can issue Extended Link Service (NVME) commands. iconic behavior. π
Itβs a generic lpfc-WQE allocation and preparation routine that all the discovery state machine routines use. The NVME command-specific fields are not set here β they get set up later by the individual discovery machine routines after they call this routine to allocate and prepare a generic WQE data structure. periodt.
It fills in the Buffer Descriptor Entries (BDEs), and it allocates buffers for both command payload and response payload (if expected). π
The reference count on the ndlp is incremented by 1, and the reference to the ndlp is put into context1 of the WQE data structure. thatβs so this WQE can hold the ndlp reference for the commandβs callback function to access later. iykyk. π₯
Return code β pointer to the newly allocated/prepared nvme wqe data structure. and when it goes sideways: NULL β when nvme wqe data structure allocation/preparation failed. π
π¦ SEE ALSO π¦
Kernel file ./drivers/scsi/lpfc/lpfc_nvmet.c β go look, bestie. also these functions are in the group chat:
__lpfc_nvme_xmt_ls_rsp_cmp(9)lpfc_nvmet_xmt_ls_rsp_cmp(9)lpfc_nvmet_ctxbuf_post(9)lpfc_nvmet_xmt_fcp_op_cmp(9)__lpfc_nvme_xmt_ls_rsp(9)lpfc_nvmet_xmt_ls_rsp(9)lpfc_nvmet_ls_req_cmp(9)lpfc_nvmet_ls_req(9)lpfc_nvmet_ls_abort(9)lpfc_sli4_nvmet_xri_aborted(9)lpfc_nvmet_handle_lsreq(9)lpfc_nvmet_unsol_fcp_buffer(9)lpfc_nvmet_unsol_fcp_event(9)lpfc_nvmet_sol_fcp_abort_cmp(9)lpfc_nvmet_unsol_fcp_abort_cmp(9)lpfc_nvmet_xmt_ls_abort_cmp(9)lpfc_nvme_unsol_ls_issue_abort(9)lpfc_nvmet_invalidate_host(9)
xoxo, from ./drivers/scsi/lpfc, dated October 2026, on the lpfc_nvmet_prep_ls_wqe(9) page π
π¦ 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