diff options
-rw-r--r-- | etc/iscsid.conf | 11 | ||||
-rw-r--r-- | kernel/scsi_transport_iscsi.c | 8 | ||||
-rw-r--r-- | usr/initiator.c | 3 |
3 files changed, 20 insertions, 2 deletions
diff --git a/etc/iscsid.conf b/etc/iscsid.conf index ea05c89..29a02c4 100644 --- a/etc/iscsid.conf +++ b/etc/iscsid.conf @@ -92,6 +92,17 @@ node.conn[0].timeo.noop_out_interval = 5 # this will cause the IO to be failed to the multipath layer. node.conn[0].timeo.noop_out_timeout = 5 +# To specify the time to wait for abort response before +# failing the operation and trying a logical unit reset edit the line. +# The value is in seconds and the default is 15 seconds. +node.session.err_timeo.abort_timeout = 15 + +# To specify the time to wait for a logical unit response +# before failing the operation and trying session re-establishment +# edit the line. +# The value is in seconds and the default is 30 seconds. +node.session.err_timeo.lu_reset_timeout = 20 + #****** # Retry #****** diff --git a/kernel/scsi_transport_iscsi.c b/kernel/scsi_transport_iscsi.c index 0dbcedd..6997e97 100644 --- a/kernel/scsi_transport_iscsi.c +++ b/kernel/scsi_transport_iscsi.c @@ -30,7 +30,7 @@ #include "scsi_transport_iscsi.h" #include "iscsi_if.h" -#define ISCSI_SESSION_ATTRS 16 +#define ISCSI_SESSION_ATTRS 18 #define ISCSI_CONN_ATTRS 11 #define ISCSI_HOST_ATTRS 4 #define ISCSI_TRANSPORT_VERSION "2.0-724" @@ -1253,7 +1253,9 @@ iscsi_session_attr(username, ISCSI_PARAM_USERNAME, 1); iscsi_session_attr(username_in, ISCSI_PARAM_USERNAME_IN, 1); iscsi_session_attr(password, ISCSI_PARAM_PASSWORD, 1); iscsi_session_attr(password_in, ISCSI_PARAM_PASSWORD_IN, 1); -iscsi_session_attr(fast_abort, ISCSI_PARAM_FAST_ABORT, 1); +iscsi_session_attr(fast_abort, ISCSI_PARAM_FAST_ABORT, 0); +iscsi_session_attr(abort_tmo, ISCSI_PARAM_ABORT_TMO, 0); +iscsi_session_attr(lu_reset_tmo, ISCSI_PARAM_LU_RESET_TMO, 0); #define iscsi_priv_session_attr_show(field, format) \ static ssize_t \ @@ -1478,6 +1480,8 @@ iscsi_register_transport(struct iscsi_transport *tt) SETUP_SESSION_RD_ATTR(username, ISCSI_PASSWORD); SETUP_SESSION_RD_ATTR(username_in, ISCSI_PASSWORD_IN); SETUP_SESSION_RD_ATTR(fast_abort, ISCSI_FAST_ABORT); + SETUP_SESSION_RD_ATTR(abort_tmo, ISCSI_ABORT_TMO); + SETUP_SESSION_RD_ATTR(lu_reset_tmo,ISCSI_LU_RESET_TMO); SETUP_PRIV_SESSION_RD_ATTR(recovery_tmo); BUG_ON(count > ISCSI_SESSION_ATTRS); diff --git a/usr/initiator.c b/usr/initiator.c index 0cc4213..0ee0938 100644 --- a/usr/initiator.c +++ b/usr/initiator.c @@ -519,6 +519,9 @@ __session_create(node_rec_t *rec, struct iscsi_transport *t) session->replacement_timeout = DEF_REPLACEMENT_TIMEO; } session->fast_abort = rec->session.iscsi.FastAbort; + session->abort_timeout = rec->session.err_timeo.abort_timeout; + session->lu_reset_timeout = rec->session.err_timeo.lu_reset_timeout; + session->host_reset_timeout = rec->session.err_timeo.host_reset_timeout; /* OUI and uniqifying number */ session->isid[0] = DRIVER_ISID_0; |