lpfc_nvme_fcp_io_submit(9)
π lpfc_nvme_fcp_io_submit(9) π
okay bestie, so this is a page from the Kernel API Manual and it's all about lpfc_nvme_fcp_io_submit β literally the function that ships an NVME-over-FCP IO out the door. let's get into it π
β¨ NAME β¨
lpfc_nvme_fcp_io_submit β Issue an NVME-over-FCP IO π
πΈ SYNOPSIS πΈ
int lpfc_nvme_fcp_io_submit (struct nvme_fc_local_port *pnvme_lport ,
struct nvme_fc_remote_port *pnvme_rport , void *hw_queue_handle , struct
nvmefc_fcp_req *pnvme_fcreq );
like, four arguments in, an int out. classic. no cap π«Ά
π¦ ARGUMENTS π¦
pnvme_lportβ Pointer to the driver's local port data. this is the local port's whole situation, handed to you πpnvme_rportβ Pointer to the rport getting thelpfc_nvme_ereq. (that's rport as in remote port, she's the one receiving π)hw_queue_handleβ Driver-returned handle inlpfc_nvme_create_queue. yes, it came back from there, so you already have it πpnvme_fcreqβ IO request from nvme fc to driver. this is the actual request being submitted, main character energy fr fr β
π DESCRIPTION π
So the driver registers this routine as its io request handler β that's her job, that's her whole vibe π
This routine issues an fcp WQE with data from the lpfc_nvme_fcpreq data structure to the rport indicated in lpfc_nvme_rport. like, it takes the WQE, fills it with the stuff from the fcreq structure, and points it at the rport. slay β¨
Return value : 0 - Success
TODO: What are the failure codes. π yeah bestie the failure codes are literally a mystery here β the page says TODO and we are NOT gonna invent them. if you need them, go read the source, iykyk π
π§ SEE ALSO π§
Kernel file ./drivers/scsi/lpfc/lpfc_nvme.c β plus her whole friend group, no cap:
lpfc_nvme_create_queue(9)lpfc_nvme_delete_queue(9)lpfc_nvme_handle_lsreq(9)__lpfc_nvme_ls_req_cmp(9)__lpfc_nvme_ls_req(9)lpfc_nvme_ls_req(9)__lpfc_nvme_ls_abort(9)lpfc_nvme_ls_abort(9)lpfc_nvme_prep_io_cmd(9)lpfc_nvme_prep_io_dma(9)lpfc_nvme_abort_fcreq_cmpl(9)lpfc_nvme_fcp_abort(9)lpfc_release_nvme_buf(9)lpfc_nvme_create_localport(9)lpfc_nvme_destroy_localport(9)lpfc_sli4_nvme_pci_offline_aborted(9)lpfc_sli4_nvme_xri_aborted(9)lpfc_nvme_wait_for_io_drain(9)lpfc_nvme_flush_abts_list(9)lpfc_nvmels_flush_cmd(9)
and that's the page!! π«Ά
cute lil sign-off bestie: this one lives in ./drivers/scsi/lpfc and it's dated October 2026 β periodt, go read the source, mwah ππ
π
π¦ 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