lpfc_bsg_timeout(9)
β¨ lpfc_bsg_timeout β handle timeout of a bsg request from the FC transport β¨
okay so bestie, welcome to the lpfc_bsg_timeout(9) page π
this lil gem lives in the Kernel API Manual and it's honestly giving "cleanup crew" energy β lowkey one of the most important vibes in the whole driver. let's get into it π«Ά
πΈ SYNOPSIS πΈ
int lpfc_bsg_timeout (struct bsg_job *job );
that's the whole signature, no cap. it takes one thing and returns an int. iconic, minimal, slay π
π ARGUMENTS π
jobβ thebsg_jobthat has timed out π like, the request that just ghosted us and ran out of patience. this is the girl we're here to rescue.
π DESCRIPTION π
so what does it actually do? literally the whole job (pun fully intended) is this: this function just aborts the job's IOCB. that's it. that's the function. no extra side quests, no drama, just abort energy π₯
then here's the cute part β the aborted IOCB will return to the waiting function, and that function is the one that handles passing the error back to userspace. so our girl here isn't the one delivering the bad news; she just pulls the plug and lets the waiting function do the emotional labor ππ
ngl this is a very "not my job, but I'll make the call" situation and honestly? respect.
π¦ SEE ALSO π¦
the kernel file where all this magic lives, fr fr:
./drivers/scsi/lpfc/lpfc_bsg.c
and now the guest list β every single one of these is invited to the function party π:
lpfc_bsg_send_mgmt_cmd_cmp(9)lpfc_bsg_send_mgmt_cmd(9)lpfc_bsg_rport_els_cmp(9)lpfc_bsg_rport_els(9)lpfc_bsg_event_free(9)lpfc_bsg_event_ref(9)lpfc_bsg_event_unref(9)lpfc_bsg_event_new(9)diag_cmd_data_free(9)lpfc_bsg_ct_unsol_abort(9)lpfc_bsg_hba_set_event(9)lpfc_bsg_hba_get_event(9)lpfc_issue_ct_rsp_cmp(9)lpfc_issue_ct_rsp(9)lpfc_bsg_send_mgmt_rsp(9)lpfc_bsg_diag_mode_enter(9)lpfc_bsg_diag_mode_exit(9)lpfc_sli3_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_set_link_diag_state(9)lpfc_sli4_bsg_set_loopback_mode(9)lpfc_sli4_diag_fcport_reg_setup(9)lpfc_sli4_bsg_diag_loopback_mode(9)lpfc_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_diag_mode_end(9)lpfc_sli4_bsg_link_diag_test(9)lpfcdiag_loop_self_reg(9)lpfcdiag_loop_self_unreg(9)lpfcdiag_loop_get_xri(9)lpfc_bsg_dma_page_alloc(9)lpfc_bsg_dma_page_free(9)lpfc_bsg_dma_page_list_free(9)diag_cmd_data_alloc(9)lpfcdiag_sli3_loop_post_rxbufs(9)lpfc_bsg_diag_loopback_run(9)lpfc_bsg_get_dfc_rev(9)lpfc_bsg_issue_mbox_cmpl(9)lpfc_bsg_check_cmd_access(9)lpfc_bsg_mbox_ext_session_reset(9)lpfc_rd_obj_emb0_handle_job(9)lpfc_bsg_issue_mbox_ext_handle_job(9)lpfc_bsg_issue_read_mbox_ext_cmpl(9)lpfc_bsg_issue_write_mbox_ext_cmpl(9)lpfc_bsg_sli_cfg_read_cmd_ext(9)lpfc_bsg_sli_cfg_write_cmd_ext(9)lpfc_bsg_handle_sli_cfg_mbox(9)lpfc_bsg_mbox_ext_abort(9)lpfc_bsg_read_ebuf_get(9)lpfc_bsg_write_ebuf_set(9)lpfc_bsg_handle_sli_cfg_ebuf(9)lpfc_bsg_handle_sli_cfg_ext(9)lpfc_bsg_issue_mbox(9)lpfc_bsg_mbox_cmd(9)lpfc_check_fwlog_support(9)lpfc_bsg_get_ras_config(9)lpfc_bsg_set_ras_config(9)lpfc_bsg_get_ras_lwpd(9)lpfc_bsg_get_ras_fwlog(9)lpfc_bsg_hst_vendor(9)lpfc_bsg_request(9)
like, that's the whole friend group and yes they're all (9) section functions, iykyk π
and that's the page!! go forth and abort those timed-out IOCBs with confidence, bestie πβ
sign-off era: this lovely little manual page comes from ./drivers/scsi/lpfc and is dated October 2026 β so like, it's a certified vintage future classic π keep it in your bookmarks, 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