iscsi-target: Convert iscsi_thread_set usage to kthread.h
authorNicholas Bellinger <nab@linux-iscsi.org>
Fri, 27 Feb 2015 06:19:15 +0000 (22:19 -0800)
committerDanny Wood <danwood76@gmail.com>
Tue, 29 Jan 2019 13:09:26 +0000 (13:09 +0000)
commit78df09e93bd6f8a88ab47c6f77ceebab28a8a988
treeeba9803e362f095d067aef6681a44039fa16f554
parent119c7896043aff49b3bf01f8a8d471e76edbd342
iscsi-target: Convert iscsi_thread_set usage to kthread.h

commit 88dcd2dab5c23b1c9cfc396246d8f476c872f0ca upstream.

This patch converts iscsi-target code to use modern kthread.h API
callers for creating RX/TX threads for each new iscsi_conn descriptor,
and releasing associated RX/TX threads during connection shutdown.

This is done using iscsit_start_kthreads() -> kthread_run() to start
new kthreads from within iscsi_post_login_handler(), and invoking
kthread_stop() from existing iscsit_close_connection() code.

Also, convert iscsit_logout_post_handler_closesession() code to use
cmpxchg when determing when iscsit_cause_connection_reinstatement()
needs to sleep waiting for completion.

Reported-by: Sagi Grimberg <sagig@mellanox.com>
Tested-by: Sagi Grimberg <sagig@mellanox.com>
Cc: Slava Shwartsman <valyushash@gmail.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/target/iscsi/iscsi_target.c
drivers/target/iscsi/iscsi_target_core.h
drivers/target/iscsi/iscsi_target_erl0.c
drivers/target/iscsi/iscsi_target_login.c