mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 16:47:42 +00:00
scsi: target: Remove unused functions
The functions: iscsit_check_unsolicited_dataout() iscsit_fail_session() iscsit_create_conn_recovery_datain_values() iscsit_create_conn_recovery_dataout_values() iscsit_tpg_dump_params() iscsit_print_session_params() were all added in 2011 by commit e48354ce078c ("iscsi-target: Add iSCSI fabric support for target v4.1") but have remained unused. Remove them. Having deleted them, the functions: iscsi_print_params() iscsi_dump_conn_ops() iscsi_dump_sess_ops() are also unused. Remove them. Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> Link: https://lore.kernel.org/r/20241222213524.270735-1-linux@treblig.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
a9dcee18a2
commit
4d43d350a4
@ -4727,21 +4727,6 @@ int iscsit_logout_post_handler(
|
||||
}
|
||||
EXPORT_SYMBOL(iscsit_logout_post_handler);
|
||||
|
||||
void iscsit_fail_session(struct iscsit_session *sess)
|
||||
{
|
||||
struct iscsit_conn *conn;
|
||||
|
||||
spin_lock_bh(&sess->conn_lock);
|
||||
list_for_each_entry(conn, &sess->sess_conn_list, conn_list) {
|
||||
pr_debug("Moving to TARG_CONN_STATE_CLEANUP_WAIT.\n");
|
||||
conn->conn_state = TARG_CONN_STATE_CLEANUP_WAIT;
|
||||
}
|
||||
spin_unlock_bh(&sess->conn_lock);
|
||||
|
||||
pr_debug("Moving to TARG_SESS_STATE_FAILED.\n");
|
||||
sess->session_state = TARG_SESS_STATE_FAILED;
|
||||
}
|
||||
|
||||
void iscsit_stop_session(
|
||||
struct iscsit_session *sess,
|
||||
int session_sleep,
|
||||
|
@ -40,7 +40,6 @@ extern int iscsi_target_tx_thread(void *);
|
||||
extern int iscsi_target_rx_thread(void *);
|
||||
extern int iscsit_close_connection(struct iscsit_conn *);
|
||||
extern int iscsit_close_session(struct iscsit_session *, bool can_sleep);
|
||||
extern void iscsit_fail_session(struct iscsit_session *);
|
||||
extern void iscsit_stop_session(struct iscsit_session *, int, int);
|
||||
extern int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *, int);
|
||||
|
||||
|
@ -25,54 +25,6 @@
|
||||
/*
|
||||
* FIXME: Does RData SNACK apply here as well?
|
||||
*/
|
||||
void iscsit_create_conn_recovery_datain_values(
|
||||
struct iscsit_cmd *cmd,
|
||||
__be32 exp_data_sn)
|
||||
{
|
||||
u32 data_sn = 0;
|
||||
struct iscsit_conn *conn = cmd->conn;
|
||||
|
||||
cmd->next_burst_len = 0;
|
||||
cmd->read_data_done = 0;
|
||||
|
||||
while (be32_to_cpu(exp_data_sn) > data_sn) {
|
||||
if ((cmd->next_burst_len +
|
||||
conn->conn_ops->MaxRecvDataSegmentLength) <
|
||||
conn->sess->sess_ops->MaxBurstLength) {
|
||||
cmd->read_data_done +=
|
||||
conn->conn_ops->MaxRecvDataSegmentLength;
|
||||
cmd->next_burst_len +=
|
||||
conn->conn_ops->MaxRecvDataSegmentLength;
|
||||
} else {
|
||||
cmd->read_data_done +=
|
||||
(conn->sess->sess_ops->MaxBurstLength -
|
||||
cmd->next_burst_len);
|
||||
cmd->next_burst_len = 0;
|
||||
}
|
||||
data_sn++;
|
||||
}
|
||||
}
|
||||
|
||||
void iscsit_create_conn_recovery_dataout_values(
|
||||
struct iscsit_cmd *cmd)
|
||||
{
|
||||
u32 write_data_done = 0;
|
||||
struct iscsit_conn *conn = cmd->conn;
|
||||
|
||||
cmd->data_sn = 0;
|
||||
cmd->next_burst_len = 0;
|
||||
|
||||
while (cmd->write_data_done > write_data_done) {
|
||||
if ((write_data_done + conn->sess->sess_ops->MaxBurstLength) <=
|
||||
cmd->write_data_done)
|
||||
write_data_done += conn->sess->sess_ops->MaxBurstLength;
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
cmd->write_data_done = write_data_done;
|
||||
}
|
||||
|
||||
static int iscsit_attach_active_connection_recovery_entry(
|
||||
struct iscsit_session *sess,
|
||||
struct iscsi_conn_recovery *cr)
|
||||
|
@ -9,8 +9,6 @@ struct iscsit_conn;
|
||||
struct iscsi_conn_recovery;
|
||||
struct iscsit_session;
|
||||
|
||||
extern void iscsit_create_conn_recovery_datain_values(struct iscsit_cmd *, __be32);
|
||||
extern void iscsit_create_conn_recovery_dataout_values(struct iscsit_cmd *);
|
||||
extern struct iscsi_conn_recovery *iscsit_get_inactive_connection_recovery_entry(
|
||||
struct iscsit_session *, u16);
|
||||
extern void iscsit_free_connection_recovery_entries(struct iscsit_session *);
|
||||
|
@ -67,54 +67,6 @@ int iscsi_login_tx_data(
|
||||
return 0;
|
||||
}
|
||||
|
||||
void iscsi_dump_conn_ops(struct iscsi_conn_ops *conn_ops)
|
||||
{
|
||||
pr_debug("HeaderDigest: %s\n", (conn_ops->HeaderDigest) ?
|
||||
"CRC32C" : "None");
|
||||
pr_debug("DataDigest: %s\n", (conn_ops->DataDigest) ?
|
||||
"CRC32C" : "None");
|
||||
pr_debug("MaxRecvDataSegmentLength: %u\n",
|
||||
conn_ops->MaxRecvDataSegmentLength);
|
||||
}
|
||||
|
||||
void iscsi_dump_sess_ops(struct iscsi_sess_ops *sess_ops)
|
||||
{
|
||||
pr_debug("InitiatorName: %s\n", sess_ops->InitiatorName);
|
||||
pr_debug("InitiatorAlias: %s\n", sess_ops->InitiatorAlias);
|
||||
pr_debug("TargetName: %s\n", sess_ops->TargetName);
|
||||
pr_debug("TargetAlias: %s\n", sess_ops->TargetAlias);
|
||||
pr_debug("TargetPortalGroupTag: %hu\n",
|
||||
sess_ops->TargetPortalGroupTag);
|
||||
pr_debug("MaxConnections: %hu\n", sess_ops->MaxConnections);
|
||||
pr_debug("InitialR2T: %s\n",
|
||||
(sess_ops->InitialR2T) ? "Yes" : "No");
|
||||
pr_debug("ImmediateData: %s\n", (sess_ops->ImmediateData) ?
|
||||
"Yes" : "No");
|
||||
pr_debug("MaxBurstLength: %u\n", sess_ops->MaxBurstLength);
|
||||
pr_debug("FirstBurstLength: %u\n", sess_ops->FirstBurstLength);
|
||||
pr_debug("DefaultTime2Wait: %hu\n", sess_ops->DefaultTime2Wait);
|
||||
pr_debug("DefaultTime2Retain: %hu\n",
|
||||
sess_ops->DefaultTime2Retain);
|
||||
pr_debug("MaxOutstandingR2T: %hu\n",
|
||||
sess_ops->MaxOutstandingR2T);
|
||||
pr_debug("DataPDUInOrder: %s\n",
|
||||
(sess_ops->DataPDUInOrder) ? "Yes" : "No");
|
||||
pr_debug("DataSequenceInOrder: %s\n",
|
||||
(sess_ops->DataSequenceInOrder) ? "Yes" : "No");
|
||||
pr_debug("ErrorRecoveryLevel: %hu\n",
|
||||
sess_ops->ErrorRecoveryLevel);
|
||||
pr_debug("SessionType: %s\n", (sess_ops->SessionType) ?
|
||||
"Discovery" : "Normal");
|
||||
}
|
||||
|
||||
void iscsi_print_params(struct iscsi_param_list *param_list)
|
||||
{
|
||||
struct iscsi_param *param;
|
||||
|
||||
list_for_each_entry(param, ¶m_list->param_list, p_list)
|
||||
pr_debug("%s: %s\n", param->name, param->value);
|
||||
}
|
||||
|
||||
static struct iscsi_param *iscsi_set_default_param(struct iscsi_param_list *param_list,
|
||||
char *name, char *value, u8 phase, u8 scope, u8 sender,
|
||||
u16 type_range, u8 use)
|
||||
|
@ -32,9 +32,6 @@ struct iscsi_sess_ops;
|
||||
|
||||
extern int iscsi_login_rx_data(struct iscsit_conn *, char *, int);
|
||||
extern int iscsi_login_tx_data(struct iscsit_conn *, char *, char *, int);
|
||||
extern void iscsi_dump_conn_ops(struct iscsi_conn_ops *);
|
||||
extern void iscsi_dump_sess_ops(struct iscsi_sess_ops *);
|
||||
extern void iscsi_print_params(struct iscsi_param_list *);
|
||||
extern int iscsi_create_default_params(struct iscsi_param_list **);
|
||||
extern int iscsi_set_keys_to_negotiate(struct iscsi_param_list *, bool);
|
||||
extern int iscsi_set_keys_irrelevant_for_discovery(struct iscsi_param_list *);
|
||||
|
@ -200,11 +200,6 @@ static void iscsit_clear_tpg_np_login_threads(
|
||||
spin_unlock(&tpg->tpg_np_lock);
|
||||
}
|
||||
|
||||
void iscsit_tpg_dump_params(struct iscsi_portal_group *tpg)
|
||||
{
|
||||
iscsi_print_params(tpg->param_list);
|
||||
}
|
||||
|
||||
static void iscsit_set_default_tpg_attribs(struct iscsi_portal_group *tpg)
|
||||
{
|
||||
struct iscsi_tpg_attrib *a = &tpg->tpg_attrib;
|
||||
|
@ -18,7 +18,6 @@ extern struct iscsi_portal_group *iscsit_get_tpg_from_np(struct iscsi_tiqn *,
|
||||
struct iscsi_np *, struct iscsi_tpg_np **);
|
||||
extern int iscsit_get_tpg(struct iscsi_portal_group *);
|
||||
extern void iscsit_put_tpg(struct iscsi_portal_group *);
|
||||
extern void iscsit_tpg_dump_params(struct iscsi_portal_group *);
|
||||
extern int iscsit_tpg_add_portal_group(struct iscsi_tiqn *, struct iscsi_portal_group *);
|
||||
extern int iscsit_tpg_del_portal_group(struct iscsi_tiqn *, struct iscsi_portal_group *,
|
||||
int);
|
||||
|
@ -333,50 +333,6 @@ int iscsit_sequence_cmd(struct iscsit_conn *conn, struct iscsit_cmd *cmd,
|
||||
}
|
||||
EXPORT_SYMBOL(iscsit_sequence_cmd);
|
||||
|
||||
int iscsit_check_unsolicited_dataout(struct iscsit_cmd *cmd, unsigned char *buf)
|
||||
{
|
||||
struct iscsit_conn *conn = cmd->conn;
|
||||
struct se_cmd *se_cmd = &cmd->se_cmd;
|
||||
struct iscsi_data *hdr = (struct iscsi_data *) buf;
|
||||
u32 payload_length = ntoh24(hdr->dlength);
|
||||
|
||||
if (conn->sess->sess_ops->InitialR2T) {
|
||||
pr_err("Received unexpected unsolicited data"
|
||||
" while InitialR2T=Yes, protocol error.\n");
|
||||
transport_send_check_condition_and_sense(se_cmd,
|
||||
TCM_UNEXPECTED_UNSOLICITED_DATA, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((cmd->first_burst_len + payload_length) >
|
||||
conn->sess->sess_ops->FirstBurstLength) {
|
||||
pr_err("Total %u bytes exceeds FirstBurstLength: %u"
|
||||
" for this Unsolicited DataOut Burst.\n",
|
||||
(cmd->first_burst_len + payload_length),
|
||||
conn->sess->sess_ops->FirstBurstLength);
|
||||
transport_send_check_condition_and_sense(se_cmd,
|
||||
TCM_INCORRECT_AMOUNT_OF_DATA, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(hdr->flags & ISCSI_FLAG_CMD_FINAL))
|
||||
return 0;
|
||||
|
||||
if (((cmd->first_burst_len + payload_length) != cmd->se_cmd.data_length) &&
|
||||
((cmd->first_burst_len + payload_length) !=
|
||||
conn->sess->sess_ops->FirstBurstLength)) {
|
||||
pr_err("Unsolicited non-immediate data received %u"
|
||||
" does not equal FirstBurstLength: %u, and does"
|
||||
" not equal ExpXferLen %u.\n",
|
||||
(cmd->first_burst_len + payload_length),
|
||||
conn->sess->sess_ops->FirstBurstLength, cmd->se_cmd.data_length);
|
||||
transport_send_check_condition_and_sense(se_cmd,
|
||||
TCM_INCORRECT_AMOUNT_OF_DATA, 0);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct iscsit_cmd *iscsit_find_cmd_from_itt(
|
||||
struct iscsit_conn *conn,
|
||||
itt_t init_task_tag)
|
||||
@ -1252,20 +1208,6 @@ int iscsit_tx_login_rsp(struct iscsit_conn *conn, u8 status_class, u8 status_det
|
||||
return conn->conn_transport->iscsit_put_login_tx(conn, login, 0);
|
||||
}
|
||||
|
||||
void iscsit_print_session_params(struct iscsit_session *sess)
|
||||
{
|
||||
struct iscsit_conn *conn;
|
||||
|
||||
pr_debug("-----------------------------[Session Params for"
|
||||
" SID: %u]-----------------------------\n", sess->sid);
|
||||
spin_lock_bh(&sess->conn_lock);
|
||||
list_for_each_entry(conn, &sess->sess_conn_list, conn_list)
|
||||
iscsi_dump_conn_ops(conn->conn_ops);
|
||||
spin_unlock_bh(&sess->conn_lock);
|
||||
|
||||
iscsi_dump_sess_ops(sess->sess_ops);
|
||||
}
|
||||
|
||||
int rx_data(
|
||||
struct iscsit_conn *conn,
|
||||
struct kvec *iov,
|
||||
|
@ -23,7 +23,6 @@ extern struct iscsi_seq *iscsit_get_seq_holder_for_r2t(struct iscsit_cmd *);
|
||||
extern struct iscsi_r2t *iscsit_get_holder_for_r2tsn(struct iscsit_cmd *, u32);
|
||||
extern int iscsit_sequence_cmd(struct iscsit_conn *conn, struct iscsit_cmd *cmd,
|
||||
unsigned char * ,__be32 cmdsn);
|
||||
extern int iscsit_check_unsolicited_dataout(struct iscsit_cmd *, unsigned char *);
|
||||
extern struct iscsit_cmd *iscsit_find_cmd_from_itt_or_dump(struct iscsit_conn *,
|
||||
itt_t, u32);
|
||||
extern struct iscsit_cmd *iscsit_find_cmd_from_ttt(struct iscsit_conn *, u32);
|
||||
@ -61,7 +60,6 @@ extern int iscsit_set_login_timer_kworker(struct iscsit_conn *, struct task_stru
|
||||
extern int iscsit_send_tx_data(struct iscsit_cmd *, struct iscsit_conn *, int);
|
||||
extern int iscsit_fe_sendpage_sg(struct iscsit_cmd *, struct iscsit_conn *);
|
||||
extern int iscsit_tx_login_rsp(struct iscsit_conn *, u8, u8);
|
||||
extern void iscsit_print_session_params(struct iscsit_session *);
|
||||
extern int rx_data(struct iscsit_conn *, struct kvec *, int, int);
|
||||
extern int tx_data(struct iscsit_conn *, struct kvec *, int, int);
|
||||
extern void iscsit_collect_login_stats(struct iscsit_conn *, u8, u8);
|
||||
|
Loading…
x
Reference in New Issue
Block a user