On Tue, 30 Aug 2016 17:09:21 +0000 Anton Kovalenko <Anton.Kovalenko@xxxxxxxxxxx> wrote: > From ac1b732b612fe2c188dcc2441e5dd247d3452836 Mon Sep 17 00:00:00 2001 > From: Anton Kovalenko <anton.kovalenko@xxxxxxxxxxx> > Date: Tue, 30 Aug 2016 19:02:51 +0300 > Subject: [PATCH] Disable NOP-IN and adjust state for closed conn > > There is a couple of problems when a connection is closed by > iscsi_tcp_nop_work_handler, and there are uncompleted scsi commands for > that connection: > > 1) usr/iscsi/iscsid.c:iscsi_scsi_cmd_done assumes that a closed connection > has .state == STATE_CLOSE. The assumption fails if the connection is > closed not as a reaction to STATE_CLOSE, but by a raw conn_close call > outside of rx/tx handlers (like it happens for unanswered NOP-INs). > This commit takes care to set .state = STATE_CLOSE in ep_close callback, > so incomplete scsi commands will be freed on completion. > > 2) the connection doesn't go away from iscsi_tcp_conn_list until its > refcount reaches zero (see iscsi_tcp_release). It makes > iscsi_tcp_nop_work_handler call conn_close for the same connection > repeatedly, as long as it has incomplete scsi commands (hence non-zero > refcount). This commit zeroes out nop_interval for closed connections, > so next iscsi_tcp_nop_work_handler calls won't try to close the > connection any more. > --- > usr/iscsi/iscsi_tcp.c | 2 ++ > 1 file changed, 2 insertions(+) Looks good. Thanks! -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html