On 12/09/2012 05:19 PM, Mike Christie wrote:
> 
>> > 
>>> >>
>>> >>
>>>> >>> @@ -3266,8 +3271,8 @@ fc_timeout_fail_rport_io(struct work_struct 
>>>> >>> *work)
>>>> >>>       if (rport->port_state != FC_PORTSTATE_BLOCKED)
>>>> >>>           return;
>>>> >>>
>>>> >>> -    rport->flags |= FC_RPORT_FAST_FAIL_TIMEDOUT;
>>>> >>>       fc_terminate_rport_io(rport);
>>>> >>> +    rport->flags |= FC_RPORT_FAST_FAIL_TIMEDOUT;
>>>> >>>   }
>>>> >>>
>>> >>
>>> >> What was the reason for moving this? For the eh case in this patch was
>>> >> it causing IO to be failed with DID_TRANSPORT_FAILFAST when we wanted it
>>> >> failed with some other error.
>>> >>
>> > I wanted to ensure that fc_terminate_rport_io() was run when checking
>> > FC_RPORT_FAST_FAIL_TIMEOUT.
>> > Without the move there is a race window between clearing the flag and
>> > calling fc_terminate_rport_io(), which one might trigger by just
>> > checking the flag.
>> > 
> What code is this? I am not sure what you mean. fc_terminate_rport_io is
> always going to get run. There does not seem to be checks in it for
> FC_RPORT_FAST_FAIL_TIMEOUT.

Ignore this. I misread your mail. I see what you meant.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to