mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
target: make close_session optional
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
22d11759a4
commit
36ec2ddc0d
@ -294,7 +294,6 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name):
|
||||
buf += " .tpg_check_prod_mode_write_protect = " + fabric_mod_name + "_check_false,\n"
|
||||
buf += " .tpg_get_inst_index = " + fabric_mod_name + "_tpg_get_inst_index,\n"
|
||||
buf += " .release_cmd = " + fabric_mod_name + "_release_cmd,\n"
|
||||
buf += " .close_session = " + fabric_mod_name + "_close_session,\n"
|
||||
buf += " .sess_get_index = " + fabric_mod_name + "_sess_get_index,\n"
|
||||
buf += " .sess_get_initiator_sid = NULL,\n"
|
||||
buf += " .write_pending = " + fabric_mod_name + "_write_pending,\n"
|
||||
@ -466,13 +465,6 @@ def tcm_mod_dump_fabric_ops(proto_ident, fabric_mod_dir_var, fabric_mod_name):
|
||||
buf += "}\n\n"
|
||||
bufi += "void " + fabric_mod_name + "_release_cmd(struct se_cmd *);\n"
|
||||
|
||||
if re.search('close_session\)\(', fo):
|
||||
buf += "void " + fabric_mod_name + "_close_session(struct se_session *se_sess)\n"
|
||||
buf += "{\n"
|
||||
buf += " return;\n"
|
||||
buf += "}\n\n"
|
||||
bufi += "void " + fabric_mod_name + "_close_session(struct se_session *);\n"
|
||||
|
||||
if re.search('sess_get_index\)\(', fo):
|
||||
buf += "u32 " + fabric_mod_name + "_sess_get_index(struct se_session *se_sess)\n"
|
||||
buf += "{\n"
|
||||
|
@ -601,11 +601,6 @@ static int tcm_loop_get_cmd_state(struct se_cmd *se_cmd)
|
||||
return tl_cmd->sc_cmd_state;
|
||||
}
|
||||
|
||||
static void tcm_loop_close_session(struct se_session *se_sess)
|
||||
{
|
||||
return;
|
||||
};
|
||||
|
||||
static int tcm_loop_write_pending(struct se_cmd *se_cmd)
|
||||
{
|
||||
/*
|
||||
@ -1238,7 +1233,6 @@ static const struct target_core_fabric_ops loop_ops = {
|
||||
.tpg_get_inst_index = tcm_loop_get_inst_index,
|
||||
.check_stop_free = tcm_loop_check_stop_free,
|
||||
.release_cmd = tcm_loop_release_cmd,
|
||||
.close_session = tcm_loop_close_session,
|
||||
.sess_get_index = tcm_loop_sess_get_index,
|
||||
.write_pending = tcm_loop_write_pending,
|
||||
.write_pending_status = tcm_loop_write_pending_status,
|
||||
|
@ -1726,11 +1726,6 @@ static void sbp_release_cmd(struct se_cmd *se_cmd)
|
||||
sbp_free_request(req);
|
||||
}
|
||||
|
||||
static void sbp_close_session(struct se_session *se_sess)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static u32 sbp_sess_get_index(struct se_session *se_sess)
|
||||
{
|
||||
return 0;
|
||||
@ -2344,7 +2339,6 @@ static const struct target_core_fabric_ops sbp_ops = {
|
||||
.tpg_check_prod_mode_write_protect = sbp_check_false,
|
||||
.tpg_get_inst_index = sbp_tpg_get_inst_index,
|
||||
.release_cmd = sbp_release_cmd,
|
||||
.close_session = sbp_close_session,
|
||||
.sess_get_index = sbp_sess_get_index,
|
||||
.write_pending = sbp_write_pending,
|
||||
.write_pending_status = sbp_write_pending_status,
|
||||
|
@ -385,10 +385,6 @@ static int target_fabric_tf_ops_check(const struct target_core_fabric_ops *tfo)
|
||||
pr_err("Missing tfo->release_cmd()\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!tfo->close_session) {
|
||||
pr_err("Missing tfo->close_session()\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!tfo->sess_get_index) {
|
||||
pr_err("Missing tfo->sess_get_index()\n");
|
||||
return -EINVAL;
|
||||
|
@ -436,7 +436,8 @@ static void target_release_session(struct kref *kref)
|
||||
struct se_session, sess_kref);
|
||||
struct se_portal_group *se_tpg = se_sess->se_tpg;
|
||||
|
||||
se_tpg->se_tpg_tfo->close_session(se_sess);
|
||||
if (se_tpg->se_tpg_tfo->close_session)
|
||||
se_tpg->se_tpg_tfo->close_session(se_sess);
|
||||
}
|
||||
|
||||
int target_get_session(struct se_session *se_sess)
|
||||
|
@ -1290,10 +1290,6 @@ static void usbg_release_cmd(struct se_cmd *se_cmd)
|
||||
percpu_ida_free(&se_sess->sess_tag_pool, se_cmd->map_tag);
|
||||
}
|
||||
|
||||
static void usbg_close_session(struct se_session *se_sess)
|
||||
{
|
||||
}
|
||||
|
||||
static u32 usbg_sess_get_index(struct se_session *se_sess)
|
||||
{
|
||||
return 0;
|
||||
@ -1730,7 +1726,6 @@ static const struct target_core_fabric_ops usbg_ops = {
|
||||
.tpg_check_prod_mode_write_protect = usbg_check_false,
|
||||
.tpg_get_inst_index = usbg_tpg_get_inst_index,
|
||||
.release_cmd = usbg_release_cmd,
|
||||
.close_session = usbg_close_session,
|
||||
.sess_get_index = usbg_sess_get_index,
|
||||
.sess_get_initiator_sid = NULL,
|
||||
.write_pending = usbg_send_write_request,
|
||||
|
@ -333,11 +333,6 @@ static void vhost_scsi_release_cmd(struct se_cmd *se_cmd)
|
||||
percpu_ida_free(&se_sess->sess_tag_pool, se_cmd->map_tag);
|
||||
}
|
||||
|
||||
static void vhost_scsi_close_session(struct se_session *se_sess)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static u32 vhost_scsi_sess_get_index(struct se_session *se_sess)
|
||||
{
|
||||
return 0;
|
||||
@ -2109,7 +2104,6 @@ static struct target_core_fabric_ops vhost_scsi_ops = {
|
||||
.tpg_get_inst_index = vhost_scsi_tpg_get_inst_index,
|
||||
.release_cmd = vhost_scsi_release_cmd,
|
||||
.check_stop_free = vhost_scsi_check_stop_free,
|
||||
.close_session = vhost_scsi_close_session,
|
||||
.sess_get_index = vhost_scsi_sess_get_index,
|
||||
.sess_get_initiator_sid = NULL,
|
||||
.write_pending = vhost_scsi_write_pending,
|
||||
|
@ -1399,10 +1399,6 @@ static void scsiback_release_cmd(struct se_cmd *se_cmd)
|
||||
percpu_ida_free(&se_sess->sess_tag_pool, se_cmd->map_tag);
|
||||
}
|
||||
|
||||
static void scsiback_close_session(struct se_session *se_sess)
|
||||
{
|
||||
}
|
||||
|
||||
static u32 scsiback_sess_get_index(struct se_session *se_sess)
|
||||
{
|
||||
return 0;
|
||||
@ -1836,7 +1832,6 @@ static const struct target_core_fabric_ops scsiback_ops = {
|
||||
.tpg_get_inst_index = scsiback_tpg_get_inst_index,
|
||||
.check_stop_free = scsiback_check_stop_free,
|
||||
.release_cmd = scsiback_release_cmd,
|
||||
.close_session = scsiback_close_session,
|
||||
.sess_get_index = scsiback_sess_get_index,
|
||||
.sess_get_initiator_sid = NULL,
|
||||
.write_pending = scsiback_write_pending,
|
||||
|
Loading…
Reference in New Issue
Block a user