lpfc_scsi_cmd_iocb_cmpl(9)
π lpfc_scsi_cmd_iocb_cmpl(9) β NAME
okay so bestie, welcome to the lpfc_scsi_cmd_iocb_cmpl(9) era of the Kernel API Manual β¨ this one is literally the Scsi cmnd IOCB completion routine and she's serving main character energy in the kernel πΈ
β¨ SYNOPSIS β¨
void lpfc_scsi_cmd_iocb_cmpl (struct lpfc_hba *phba , struct lpfc_iocbq
*pIocbIn , struct lpfc_iocbq *pIocbOut );
like, yes, the line break in the middle of the params is exactly how she ships π no notes, periodt.
π«Ά ARGUMENTS π«Ά
phbaβ the Hba that this call is being executed for. the whole venue, basically ποΈpIocbInβ the command IOCBQ for the scsi cmnd π she's the one walking inpIocbOutβ the response IOCBQ for the scsi cmnd π¦ she's the one walking out with the receipts
π₯ DESCRIPTION π₯
so what does she do? This routine assigns the scsi command result by looking into the response IOCB status field β appropriately, obviously, she's not out here guessing π.
And the way she also handles the QUEUE FULL condition?? by ramping down the device queue depth π she said "bestie the queue is FULL, we're slowing down" and honestly? iconic. that's the whole vibe check π
ngl this is the "your fave is a completion callback and she's got range" moment. no cap.
π SEE ALSO π
first up, the actual home turf β Kernel file:
./drivers/scsi/lpfc/lpfc_scsi.c
and now the whole group chat, in order, every single one, because we do not leave a single bestie on read π:
lpfc_sli4_set_rsp_sgl_last(9)lpfc_rampdown_queue_depth(9)lpfc_ramp_down_queue_handler(9)lpfc_scsi_dev_block(9)lpfc_new_scsi_buf_s3(9)lpfc_sli4_vport_delete_fcp_xri_aborted(9)lpfc_sli4_io_xri_aborted(9)lpfc_get_scsi_buf_s3(9)lpfc_get_scsi_buf_s4(9)lpfc_get_scsi_buf(9)lpfc_release_scsi_buf_s3(9)lpfc_release_scsi_buf_s4(9)lpfc_release_scsi_buf(9)lpfc_fcpcmd_to_iocb(9)lpfc_scsi_prep_dma_buf_s3(9)lpfc_bg_err_inject(9)lpfc_sc_to_bg_opcodes(9)lpfc_bg_err_opcodes(9)lpfc_bg_setup_bpl(9)lpfc_bg_setup_bpl_prot(9)lpfc_bg_setup_sgl(9)lpfc_bg_setup_sgl_prot(9)lpfc_prot_group_type(9)lpfc_bg_scsi_adjust_dl(9)lpfc_bg_scsi_prep_dma_buf_s3(9)lpfc_scsi_prep_dma_buf_s4(9)lpfc_bg_scsi_prep_dma_buf_s4(9)lpfc_scsi_prep_dma_buf(9)lpfc_bg_scsi_prep_dma_buf(9)lpfc_scsi_prep_cmnd_buf(9)lpfc_send_scsi_error_event(9)lpfc_scsi_unprep_dma_buf(9)lpfc_unblock_requests(9)lpfc_block_requests(9)lpfc_update_cmf_cmpl(9)lpfc_update_cmf_cmd(9)lpfc_handle_fcp_err(9)lpfc_fcp_io_cmd_wqe_cmpl(9)lpfc_scsi_prep_cmnd_buf_s3(9)lpfc_scsi_prep_cmnd_buf_s4(9)lpfc_scsi_prep_cmnd(9)lpfc_scsi_prep_task_mgmt_cmd_s3(9)lpfc_scsi_prep_task_mgmt_cmd_s4(9)lpfc_scsi_api_table_setup(9)lpfc_tskmgmt_def_cmpl(9)lpfc_check_pci_resettable(9)lpfc_info(9)lpfc_poll_rearm_timer(9)lpfc_poll_start_timer(9)lpfc_poll_timeout(9)lpfc_queuecommand(9)lpfc_abort_handler(9)lpfc_check_fcp_rsp(9)lpfc_send_taskmgmt(9)lpfc_chk_tgt_mapped(9)lpfc_reset_flush_io_context(9)lpfc_device_reset_handler(9)lpfc_target_reset_handler(9)lpfc_host_reset_handler(9)lpfc_sdev_init(9)lpfc_sdev_configure(9)lpfc_sdev_destroy(9)lpfc_create_device_data(9)lpfc_delete_device_data(9)__lpfc_get_device_data(9)lpfc_find_next_oas_lun(9)lpfc_enable_oas_lun(9)lpfc_disable_oas_lun(9)
and that's the page, bestie π§π this iconic lil doc lives in ./drivers/scsi/lpfc, it's dated October 2026, and it's filed under lpfc_scsi_cmd_iocb_cmpl(9) β go off, you absolute queen πβ¨π
π¦ 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