Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Oct 2017 09:55:22 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r325222 - stable/10/sys/dev/iscsi
Message-ID:  <201710310955.v9V9tMb8093148@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Tue Oct 31 09:55:22 2017
New Revision: 325222
URL: https://svnweb.freebsd.org/changeset/base/325222

Log:
  MFC r324689: iscsi: do not hold the global lock while tearing down a session

Modified:
  stable/10/sys/dev/iscsi/iscsi.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/iscsi/iscsi.c
==============================================================================
--- stable/10/sys/dev/iscsi/iscsi.c	Tue Oct 31 09:54:41 2017	(r325221)
+++ stable/10/sys/dev/iscsi/iscsi.c	Tue Oct 31 09:55:22 2017	(r325222)
@@ -429,6 +429,8 @@ iscsi_maintenance_thread_terminate(struct iscsi_sessio
 
 	sc = is->is_softc;
 	sx_xlock(&sc->sc_lock);
+	TAILQ_REMOVE(&sc->sc_sessions, is, is_next);
+	sx_xunlock(&sc->sc_lock);
 
 	icl_conn_close(is->is_conn);
 	callout_drain(&is->is_callout);
@@ -460,8 +462,6 @@ iscsi_maintenance_thread_terminate(struct iscsi_sessio
 #ifdef ICL_KERNEL_PROXY
 	cv_destroy(&is->is_login_cv);
 #endif
-	TAILQ_REMOVE(&sc->sc_sessions, is, is_next);
-	sx_xunlock(&sc->sc_lock);
 
 	ISCSI_SESSION_DEBUG(is, "terminated");
 	free(is, M_ISCSI);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710310955.v9V9tMb8093148>