Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-12 Thread Hannes Reinecke
On 03/11/2013 07:04 PM, James Smart wrote: On 3/11/2013 1:05 PM, Hannes Reinecke wrote: On 03/07/2013 09:35 PM, Jeremy Linton wrote: On 3/7/2013 2:20 PM, Mike Christie wrote: On 03/07/2013 02:13 PM, Jeremy Linton wrote: For lpfc, you never get to the code. Or rather when I was testing

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-11 Thread Hannes Reinecke
On 03/07/2013 09:35 PM, Jeremy Linton wrote: On 3/7/2013 2:20 PM, Mike Christie wrote: On 03/07/2013 02:13 PM, Jeremy Linton wrote: For lpfc, you never get to the code. Or rather when I was testing it, I couldn't find any way to propagate an error beyond the initial

RE: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-11 Thread Vijay Mohan Guvva
Elliot; Smart, James Subject: Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset On 3/11/2013 1:05 PM, Hannes Reinecke wrote: On 03/07/2013 09:35 PM, Jeremy Linton wrote: On 3/7/2013 2:20 PM, Mike Christie wrote: On 03/07/2013 02:13 PM, Jeremy Linton wrote: For lpfc

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-07 Thread Mike Christie
Sorry for the late reply. On 12/11/2012 02:23 AM, Hannes Reinecke wrote: @@ -793,7 +793,8 @@ struct scsi_host_template bfad_im_scsi_host_template = { .queuecommand = bfad_im_queuecommand, .eh_abort_handler = bfad_im_abort_handler, .eh_device_reset_handler =

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-07 Thread Jeremy Linton
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3/7/2013 1:19 PM, Mike Christie wrote: What happens for lpfc? It seems __fc_remote_port_delete ends up calling the fast io fail code right away and that sets FC_RPORT_FAST_FAIL_TIMEDOUT. We will then call lpfc_terminate_rport_io which only will

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-07 Thread Mike Christie
On 03/07/2013 02:20 PM, Mike Christie wrote: On 03/07/2013 02:13 PM, Jeremy Linton wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3/7/2013 1:19 PM, Mike Christie wrote: What happens for lpfc? It seems __fc_remote_port_delete ends up calling the fast io fail code right away and that

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-07 Thread Jeremy Linton
On 3/7/2013 2:20 PM, Mike Christie wrote: On 03/07/2013 02:13 PM, Jeremy Linton wrote: For lpfc, you never get to the code. Or rather when I was testing it, I couldn't find any way to propagate an error beyond the initial lpfc_reset_flush_io_context() call in lpfc_device_reset_handler().

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2013-03-07 Thread Douglas Gilbert
On 13-03-07 03:13 PM, Jeremy Linton wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3/7/2013 1:19 PM, Mike Christie wrote: What happens for lpfc? It seems __fc_remote_port_delete ends up calling the fast io fail code right away and that sets FC_RPORT_FAST_FAIL_TIMEDOUT. We will then

[PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2012-12-11 Thread Hannes Reinecke
'Bus reset' is not really applicable to FibreChannel, as the concept of a bus doesn't really apply. All FC driver simulate a 'bus reset' by sending a target reset to each attached remote port, causing error handling to spill over to unaffected devices. In addition, 'Target reset' has been removed

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2012-12-11 Thread Martin Peschke
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

Re: [PATCH v2][RFC] scsi_transport_fc: Implement I_T nexus reset

2012-12-11 Thread Hannes Reinecke
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