aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Christie <[email protected]>2018-08-02 12:12:24 -0500
committerMartin K. Petersen <[email protected]>2018-08-02 15:29:31 -0400
commitfb7c70f2d750a462c5a9757555bc23bf35360cec (patch)
tree757a3a896411020a02b51d19fe49b793ee96d5e8
parentfa834287300ba6a89e0a590f520a3398527eb541 (diff)
scsi: target: add session removal function
This adds a function to remove a session which should be used by drivers that use target_setup_session. The next patches will convert the target drivers to use this new function. Signed-off-by: Mike Christie <[email protected]> Reviewed-by: Bart Van Assche <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Cc: Chris Boot <[email protected]> Cc: Bryant G. Ly <[email protected]> Cc: Michael Cyr <[email protected]> Cc: <[email protected]> Cc: Johannes Thumshirn <[email protected]> Cc: Felipe Balbi <[email protected]> Cc: Sebastian Andrzej Siewior <[email protected]> Cc: Andrzej Pietrasiewicz <[email protected]> Cc: Michael S. Tsirkin <[email protected]> Cc: Juergen Gross <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r--drivers/target/target_core_transport.c7
-rw-r--r--include/target/target_core_fabric.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 57fadec2d1ae..86c0156e6c88 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -616,6 +616,13 @@ void transport_deregister_session(struct se_session *se_sess)
}
EXPORT_SYMBOL(transport_deregister_session);
+void target_remove_session(struct se_session *se_sess)
+{
+ transport_deregister_session_configfs(se_sess);
+ transport_deregister_session(se_sess);
+}
+EXPORT_SYMBOL(target_remove_session);
+
static void target_remove_from_state_list(struct se_cmd *cmd)
{
struct se_device *dev = cmd->se_dev;
diff --git a/include/target/target_core_fabric.h b/include/target/target_core_fabric.h
index fbcc9a4025b9..f4147b398431 100644
--- a/include/target/target_core_fabric.h
+++ b/include/target/target_core_fabric.h
@@ -114,6 +114,7 @@ struct se_session *target_setup_session(struct se_portal_group *,
const char *, void *,
int (*callback)(struct se_portal_group *,
struct se_session *, void *));
+void target_remove_session(struct se_session *);
void transport_init_session(struct se_session *);
struct se_session *transport_alloc_session(enum target_prot_op);