lpfc_queuecommand(9)
π lpfc_queuecommand(9) π
okay bestie, welcome to the lpfc_queuecommand(9) page from the Kernel API Manual β yes, the manual name is folded in right here because we're cute like that. this is the scsi_host_template queuecommand entry point and it's giving kernel-driver main character energy. π
β¨ NAME β¨
lpfc_queuecommand β the scsi_host_template queuecommand entry point. periodt. π
π¦ SYNOPSIS π¦
the signature is literally:
enum scsi_qc_status lpfc_queuecommand (struct Scsi_Host *shost , struct
scsi_cmnd *cmnd );
πΈ ARGUMENTS πΈ
shostβ kernel scsi host pointer. the host's main character pointer, basically. π«Άcmndβ pointer to thescsi_cmnddata structure. the command data bestie itself. π
π DESCRIPTION π
okay so picture this: the driver registers this routine with the scsi midlayer so it can submit a cmd to process. our little routine prepares an IOCB from the scsi command and provides it to firmware. then, after the driver finished processing the command, the done callback gets invoked. that's the whole flow, no cap. β¨
Return value:
0β success, slay. πSCSI_MLQUEUE_HOST_BUSYβ block all devices served by this host temporarily. yes, all of them, temporarily. π
π SEE ALSO π
the whole squad is linked here β every single one, iykyk:
- Kernel file
./drivers/scsi/lpfc/lpfc_scsi.c 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_cmd_iocb_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_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 the source/version + date? that's ./drivers/scsi/lpfc with October 2026, so thank you for coming to my ted talk, bestie π«Άππ§
π¦ 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