'\" t .\" Title: fc_eh_timed_out .\" Author: .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: September 2017 .\" Manual: SCSI mid layer .\" Source: Kernel Hackers Manual 4.12.13 .\" Language: English .\" .TH "FC_EH_TIMED_OUT" "9" "September 2017" "Kernel Hackers Manual 4\&.12\&" "SCSI mid layer" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" fc_eh_timed_out \- FC Transport I/O timeout intercept handler .SH "SYNOPSIS" .HP \w'enum\ blk_eh_timer_return\ fc_eh_timed_out('u .BI "enum blk_eh_timer_return fc_eh_timed_out(struct\ scsi_cmnd\ *\ " "scmd" ");" .SH "ARGUMENTS" .PP \fIstruct scsi_cmnd * scmd\fR .RS 4 The SCSI command which timed out .RE .SH "DESCRIPTION" .PP This routine protects against error handlers getting invoked while a rport is in a blocked state, typically due to a temporarily loss of connectivity\&. If the error handlers are allowed to proceed, requests to abort i/o, reset the target, etc will likely fail as there is no way to communicate with the device to perform the requested function\&. These failures may result in the midlayer taking the device offline, requiring manual intervention to restore operation\&. .PP 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\&. .SH "NOTES" .PP This routine assumes no locks are held on entry\&. .SH "AUTHORS" .PP \fBJames Bottomley\fR <\&James.Bottomley@hansenpartnership.com\&> .RS 4 Author. .RE .PP \fBRob Landley\fR <\&rob@landley.net\&> .RS 4 Author. .RE .SH "COPYRIGHT" .br