On 12/11/2012 01:46 PM, Martin Peschke wrote:
Hello Hannes,

fc_eh_it_nexus_loss_handler() is invoked as the
eh_target_reset_handler() callback and the
eh_bus_reset_handler() is removed.

lpfc_target_reset_handler(), which is replaced by your patch, used to
issue a TARGET_RESET task management function over FCP in the
eh_target_reset_handler() callback. What's wrong with that?

Nothing per se.
Only that the TARGET_RESET TMF has been removed from SAM-3/FCP-3 onwards, so there might not be any functionality behind it. But drivers can supply the functionality via ->eh_it_nexus_loss callback.

I didn't want to touch the existing eh_target_reset_handler myself
as I'm not familiar with the firmware specifics.
That is being left as an exercise to the reader :-)

The main point here is that we're emulating REMOVE I_T NEXUS by setting the port state to BLOCKED and invoke dev_loss_tmo.
This will prevent any further I/O to be send down.
With the original handler the port state wasn't modified,
which led to excessive recovery times when no RSCN was received.

And yes, I had several bug reports now where the HBA did not receive RSCNs, either due to a switch malfunction or due to an error injection.

Cheers,

Hannes
--
Dr. Hannes Reinecke                   zSeries & Storage
h...@suse.de                          +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
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