diff --git a/lib/iscsi/conn.c b/lib/iscsi/conn.c index 28244b7fc..02d74fdf5 100644 --- a/lib/iscsi/conn.c +++ b/lib/iscsi/conn.c @@ -580,7 +580,7 @@ spdk_iscsi_conn_destruct(struct spdk_iscsi_conn *conn) } static int -iscsi_get_active_conns(void) +iscsi_get_active_conns(struct spdk_iscsi_tgt_node *target) { struct spdk_iscsi_conn *conn; int num = 0; @@ -592,6 +592,9 @@ iscsi_get_active_conns(void) if (conn == NULL) { continue; } + if (target != NULL && conn->target != target) { + continue; + } num++; } pthread_mutex_unlock(&g_conns_mutex); @@ -623,7 +626,7 @@ iscsi_conn_check_shutdown(void *arg) { struct spdk_event *event; - if (iscsi_get_active_conns() != 0) { + if (iscsi_get_active_conns(NULL) != 0) { return 1; }