On 4/5/13 10:38 PM, Jayamohan Kallickal wrote:
  During reboot/shutdown cycle, the active sessions were not updated.
  In iSCSI Boot case, the boot session was alive and this fix informs
  that the machine is going down, so no more ops happens on that session.

Signed-off-by: John Soni Jose <[email protected]>
Signed-off-by: Jayamohan Kallickal <[email protected]>
---
  drivers/scsi/be2iscsi/be_cmds.c |    2 +-
  drivers/scsi/be2iscsi/be_cmds.h |    3 +++
  drivers/scsi/be2iscsi/be_main.c |    1 +
  3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/be2iscsi/be_cmds.c b/drivers/scsi/be2iscsi/be_cmds.c
index e66aa7c..a3bfc1d 100644
--- a/drivers/scsi/be2iscsi/be_cmds.c
+++ b/drivers/scsi/be2iscsi/be_cmds.c
@@ -340,7 +340,7 @@ static struct be_mcc_compl *be_mcc_compl_get(struct 
beiscsi_hba *phba)
        return NULL;
  }

-static void be2iscsi_fail_session(struct iscsi_cls_session *cls_session)
+void be2iscsi_fail_session(struct iscsi_cls_session *cls_session)
  {
        iscsi_session_failure(cls_session->dd_data, ISCSI_ERR_CONN_FAILED);

I am not sure how this is working or what it fixes. During shutdown/reboot when the pci_driver shutdown callback is called, without the patch what is happening? Does the host shutdown cause iscsid to try and recover the session and that causes a shutdown/reboot hang?

I think you want to use ISCSI_ERR_INVALID_HOST. That would cause a clean shutdown of the sessions if iscsid is still up at that time. This would cause ep_disconnect to get called and a logout pdu to get sent.

ISCSI_ERR_CONN_FAILED just causes recovery to start (ep_disconnect will run if the ep is up and we will try to reconnect).


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to