fc_eh_timed_out(9)
πΈ NAME πΈ
fc_eh_timed_out β FC Transport I/O timeout intercept handler, bestie. This one is from the Kernel API Manual, and yes, she is very specific about her job.
β¨ SYNOPSIS β¨
enum scsi_timeout_action fc_eh_timed_out (struct scsi_cmnd *scmd );
π ARGUMENTS π
scmdβ the SCSI command that timed out. Thatβs the whole argument, and honestly she ate.
π¦ DESCRIPTION π¦
Okay so this routine protects against error handlers getting invoked while an rport is in a blocked state β usually because connectivity got temporarily lost. Itβs giving βdonβt panic, the rport is literally unavailable rn.β
If the error handlers are allowed to proceed, requests to abort i/o, reset the target, etc. will likely fail, because there is no way to communicate with the device to perform the requested function. Those failures may result in the midlayer taking the device offline, requiring manual intervention to restore operation. Not cute. We donβt want that.
This routine, called whenever an i/o times out, validates the state of the underlying rport. If the rport is blocked, it returns EH_RESET_TIMER, which will continue to reschedule the timeout. Eventually, either the device will return, or devloss_tmo will fire, and when the timeout then fires, it will be handled normally. If the rport is not blocked, normal error handling continues. Slay, predictable behavior.
π NOTES π
π¨ This routine assumes no locks are held on entry. Respect the vibe check, please.
π SEE ALSO π
Kernel file ./drivers/scsi/scsi_transport_fc.c, plus the whole friend group:
fc_get_event_number(9),fc_host_post_fc_event(9),fc_host_post_event(9),fc_host_post_vendor_event(9)fc_find_rport_by_wwpn(9),fc_host_fpin_rcv(9),fc_queue_work(9),fc_flush_work(9)fc_queue_devloss_work(9),fc_flush_devloss(9),fc_remove_host(9),fc_starget_delete(9)fc_rport_final_delete(9),fc_remote_port_create(9),fc_remote_port_add(9),fc_remote_port_delete(9)fc_remote_port_rolechg(9),fc_timeout_deleted_rport(9),fc_timeout_fail_rport_io(9),fc_scsi_scan_rport(9)fc_block_rport(9),fc_block_scsi_eh(9),fc_vport_setup(9),fc_vport_create(9)fc_vport_terminate(9),fc_vport_sched_delete(9),fc_bsg_job_timeout(9),fc_bsg_host_dispatch(9)fc_bsg_rport_dispatch(9),fc_bsg_hostadd(9),fc_bsg_rportadd(9),fc_bsg_remove(9)
Byeee from ./drivers/scsi, dated October 2026 β still your girl fc_eh_timed_out(9) π
β¨π«Ά
π¦ 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