diff options
Diffstat (limited to 'drivers/scsi/scsi_transport_iscsi.c')
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index ad897df36615..ea3892e7e0f7 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <scsi/scsi_transport_iscsi.h> | 30 | #include <scsi/scsi_transport_iscsi.h> |
31 | #include <scsi/iscsi_if.h> | 31 | #include <scsi/iscsi_if.h> |
32 | 32 | ||
33 | #define ISCSI_SESSION_ATTRS 21 | 33 | #define ISCSI_SESSION_ATTRS 22 |
34 | #define ISCSI_CONN_ATTRS 13 | 34 | #define ISCSI_CONN_ATTRS 13 |
35 | #define ISCSI_HOST_ATTRS 4 | 35 | #define ISCSI_HOST_ATTRS 4 |
36 | 36 | ||
@@ -627,8 +627,10 @@ static void __iscsi_block_session(struct work_struct *work) | |||
627 | spin_unlock_irqrestore(&session->lock, flags); | 627 | spin_unlock_irqrestore(&session->lock, flags); |
628 | scsi_target_block(&session->dev); | 628 | scsi_target_block(&session->dev); |
629 | ISCSI_DBG_TRANS_SESSION(session, "Completed SCSI target blocking\n"); | 629 | ISCSI_DBG_TRANS_SESSION(session, "Completed SCSI target blocking\n"); |
630 | queue_delayed_work(iscsi_eh_timer_workq, &session->recovery_work, | 630 | if (session->recovery_tmo >= 0) |
631 | session->recovery_tmo * HZ); | 631 | queue_delayed_work(iscsi_eh_timer_workq, |
632 | &session->recovery_work, | ||
633 | session->recovery_tmo * HZ); | ||
632 | } | 634 | } |
633 | 635 | ||
634 | void iscsi_block_session(struct iscsi_cls_session *session) | 636 | void iscsi_block_session(struct iscsi_cls_session *session) |
@@ -1348,8 +1350,7 @@ iscsi_set_param(struct iscsi_transport *transport, struct iscsi_uevent *ev) | |||
1348 | switch (ev->u.set_param.param) { | 1350 | switch (ev->u.set_param.param) { |
1349 | case ISCSI_PARAM_SESS_RECOVERY_TMO: | 1351 | case ISCSI_PARAM_SESS_RECOVERY_TMO: |
1350 | sscanf(data, "%d", &value); | 1352 | sscanf(data, "%d", &value); |
1351 | if (value != 0) | 1353 | session->recovery_tmo = value; |
1352 | session->recovery_tmo = value; | ||
1353 | break; | 1354 | break; |
1354 | default: | 1355 | default: |
1355 | err = transport->set_param(conn, ev->u.set_param.param, | 1356 | err = transport->set_param(conn, ev->u.set_param.param, |
@@ -1759,6 +1760,7 @@ iscsi_session_attr(password_in, ISCSI_PARAM_PASSWORD_IN, 1); | |||
1759 | iscsi_session_attr(fast_abort, ISCSI_PARAM_FAST_ABORT, 0); | 1760 | iscsi_session_attr(fast_abort, ISCSI_PARAM_FAST_ABORT, 0); |
1760 | iscsi_session_attr(abort_tmo, ISCSI_PARAM_ABORT_TMO, 0); | 1761 | iscsi_session_attr(abort_tmo, ISCSI_PARAM_ABORT_TMO, 0); |
1761 | iscsi_session_attr(lu_reset_tmo, ISCSI_PARAM_LU_RESET_TMO, 0); | 1762 | iscsi_session_attr(lu_reset_tmo, ISCSI_PARAM_LU_RESET_TMO, 0); |
1763 | iscsi_session_attr(tgt_reset_tmo, ISCSI_PARAM_TGT_RESET_TMO, 0); | ||
1762 | iscsi_session_attr(ifacename, ISCSI_PARAM_IFACE_NAME, 0); | 1764 | iscsi_session_attr(ifacename, ISCSI_PARAM_IFACE_NAME, 0); |
1763 | iscsi_session_attr(initiatorname, ISCSI_PARAM_INITIATOR_NAME, 0) | 1765 | iscsi_session_attr(initiatorname, ISCSI_PARAM_INITIATOR_NAME, 0) |
1764 | 1766 | ||
@@ -2000,6 +2002,7 @@ iscsi_register_transport(struct iscsi_transport *tt) | |||
2000 | SETUP_SESSION_RD_ATTR(fast_abort, ISCSI_FAST_ABORT); | 2002 | SETUP_SESSION_RD_ATTR(fast_abort, ISCSI_FAST_ABORT); |
2001 | SETUP_SESSION_RD_ATTR(abort_tmo, ISCSI_ABORT_TMO); | 2003 | SETUP_SESSION_RD_ATTR(abort_tmo, ISCSI_ABORT_TMO); |
2002 | SETUP_SESSION_RD_ATTR(lu_reset_tmo,ISCSI_LU_RESET_TMO); | 2004 | SETUP_SESSION_RD_ATTR(lu_reset_tmo,ISCSI_LU_RESET_TMO); |
2005 | SETUP_SESSION_RD_ATTR(tgt_reset_tmo,ISCSI_TGT_RESET_TMO); | ||
2003 | SETUP_SESSION_RD_ATTR(ifacename, ISCSI_IFACE_NAME); | 2006 | SETUP_SESSION_RD_ATTR(ifacename, ISCSI_IFACE_NAME); |
2004 | SETUP_SESSION_RD_ATTR(initiatorname, ISCSI_INITIATOR_NAME); | 2007 | SETUP_SESSION_RD_ATTR(initiatorname, ISCSI_INITIATOR_NAME); |
2005 | SETUP_PRIV_SESSION_RD_ATTR(recovery_tmo); | 2008 | SETUP_PRIV_SESSION_RD_ATTR(recovery_tmo); |