Spdk/lib/iscsi
Shuhei Matsumoto d421876f98 lib/iscsi: Fix conn->state not go back to EXITING by using spdk_thread_send_msg
Updating conn->state had not been guarded by any mutex. When SPDK
iSCSI target has multiple SPDK threads, iscsi_drop_conns() may update
conn->state by a thread different from the thread of conn->pg.

This patch ensures conn->state is updated by the thread of conn->pg
by sending a message to the thread.

This fix is not perfect but connection reschedule is done only once
per connection when moving to the full feature phase. So this fix
will be simple and enough for now.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I500474a27659438473b0eea598d35c90624a1d10
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1930
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
2020-04-22 09:24:02 +00:00
..
conn.c lib/iscsi: Fix conn->state not go back to EXITING by using spdk_thread_send_msg 2020-04-22 09:24:02 +00:00
conn.h lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in conn.h 2020-04-20 07:38:29 +00:00
init_grp.c lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in init_grp.h 2020-04-20 07:38:29 +00:00
init_grp.h lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in init_grp.h 2020-04-20 07:38:29 +00:00
iscsi_rpc.c lib/iscsi: Remove the "spdk_" prefix from static functions in iSCSI library 2020-04-20 07:38:29 +00:00
iscsi_subsystem.c lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in iscsi.h 2020-04-20 07:38:29 +00:00
iscsi.c lib/iscsi: get rid of some unreachable code. 2020-04-22 09:21:04 +00:00
iscsi.h lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in iscsi.h 2020-04-20 07:38:29 +00:00
Makefile lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in param.h 2020-04-20 07:38:29 +00:00
md5.c lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in md5.h 2020-04-20 07:38:29 +00:00
md5.h lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in md5.h 2020-04-20 07:38:29 +00:00
param.c lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in param.h 2020-04-20 07:38:29 +00:00
param.h lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in param.h 2020-04-20 07:38:29 +00:00
portal_grp.c lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in conn.h 2020-04-20 07:38:29 +00:00
portal_grp.h lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in portal_grp.h 2020-04-20 07:38:29 +00:00
task.c lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in task.h 2020-04-20 07:38:29 +00:00
task.h lib/iscsi: Replace the "spdk_" prefix by "iscsi_" for internal APIs declared in iscsi.h 2020-04-20 07:38:29 +00:00
tgt_node.c lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in iscsi.h 2020-04-20 07:38:29 +00:00
tgt_node.h lib/iscsi: Remove the "spdk_" prefix from internal APIs declared in tgt_node.h 2020-04-20 07:38:29 +00:00