Skip to content

Commit 13e2502

Browse files
committed
Merge: scsi: target: update to the latest upstream version
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/1383 # Merge Request Required Information ## Summary of Changes JIRA: https://issues.redhat.com/browse/RHEL-111938 Sync the target driver to the latest upstream version Signed-off-by: Maurizio Lombardi <mlombard@redhat.com> ## Approved Development Ticket(s) All submissions to CentOS Stream must reference a ticket in [Red Hat Jira](https://issues.redhat.com/). <details><summary>Click for formatting instructions</summary> Please follow the CentOS Stream [contribution documentation](https://docs.centos.org/en-US/stream-contrib/quickstart/) for how to file this ticket and have it approved. List tickets each on their own line of this description using the format "Resolves: RHEL-76229", "Related: RHEL-76229" or "Reverts: RHEL-76229", as appropriate. </details> Approved-by: Ming Lei <ming.lei@redhat.com> Approved-by: Chris Leech <cleech@redhat.com> Approved-by: Tomas Henzl <thenzl@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Scott Weaver <scweaver@redhat.com>
2 parents 81297a0 + 1af9a9d commit 13e2502

21 files changed

+367
-401
lines changed

drivers/target/iscsi/iscsi_target.c

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4317,8 +4317,8 @@ int iscsit_close_connection(
43174317
spin_unlock(&iscsit_global->ts_bitmap_lock);
43184318

43194319
iscsit_stop_timers_for_cmds(conn);
4320-
iscsit_stop_nopin_response_timer(conn);
43214320
iscsit_stop_nopin_timer(conn);
4321+
iscsit_stop_nopin_response_timer(conn);
43224322

43234323
if (conn->conn_transport->iscsit_wait_conn)
43244324
conn->conn_transport->iscsit_wait_conn(conn);
@@ -4727,21 +4727,6 @@ int iscsit_logout_post_handler(
47274727
}
47284728
EXPORT_SYMBOL(iscsit_logout_post_handler);
47294729

4730-
void iscsit_fail_session(struct iscsit_session *sess)
4731-
{
4732-
struct iscsit_conn *conn;
4733-
4734-
spin_lock_bh(&sess->conn_lock);
4735-
list_for_each_entry(conn, &sess->sess_conn_list, conn_list) {
4736-
pr_debug("Moving to TARG_CONN_STATE_CLEANUP_WAIT.\n");
4737-
conn->conn_state = TARG_CONN_STATE_CLEANUP_WAIT;
4738-
}
4739-
spin_unlock_bh(&sess->conn_lock);
4740-
4741-
pr_debug("Moving to TARG_SESS_STATE_FAILED.\n");
4742-
sess->session_state = TARG_SESS_STATE_FAILED;
4743-
}
4744-
47454730
void iscsit_stop_session(
47464731
struct iscsit_session *sess,
47474732
int session_sleep,

drivers/target/iscsi/iscsi_target.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ extern int iscsi_target_tx_thread(void *);
4040
extern int iscsi_target_rx_thread(void *);
4141
extern int iscsit_close_connection(struct iscsit_conn *);
4242
extern int iscsit_close_session(struct iscsit_session *, bool can_sleep);
43-
extern void iscsit_fail_session(struct iscsit_session *);
4443
extern void iscsit_stop_session(struct iscsit_session *, int, int);
4544
extern int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *, int);
4645

drivers/target/iscsi/iscsi_target_erl2.c

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -25,54 +25,6 @@
2525
/*
2626
* FIXME: Does RData SNACK apply here as well?
2727
*/
28-
void iscsit_create_conn_recovery_datain_values(
29-
struct iscsit_cmd *cmd,
30-
__be32 exp_data_sn)
31-
{
32-
u32 data_sn = 0;
33-
struct iscsit_conn *conn = cmd->conn;
34-
35-
cmd->next_burst_len = 0;
36-
cmd->read_data_done = 0;
37-
38-
while (be32_to_cpu(exp_data_sn) > data_sn) {
39-
if ((cmd->next_burst_len +
40-
conn->conn_ops->MaxRecvDataSegmentLength) <
41-
conn->sess->sess_ops->MaxBurstLength) {
42-
cmd->read_data_done +=
43-
conn->conn_ops->MaxRecvDataSegmentLength;
44-
cmd->next_burst_len +=
45-
conn->conn_ops->MaxRecvDataSegmentLength;
46-
} else {
47-
cmd->read_data_done +=
48-
(conn->sess->sess_ops->MaxBurstLength -
49-
cmd->next_burst_len);
50-
cmd->next_burst_len = 0;
51-
}
52-
data_sn++;
53-
}
54-
}
55-
56-
void iscsit_create_conn_recovery_dataout_values(
57-
struct iscsit_cmd *cmd)
58-
{
59-
u32 write_data_done = 0;
60-
struct iscsit_conn *conn = cmd->conn;
61-
62-
cmd->data_sn = 0;
63-
cmd->next_burst_len = 0;
64-
65-
while (cmd->write_data_done > write_data_done) {
66-
if ((write_data_done + conn->sess->sess_ops->MaxBurstLength) <=
67-
cmd->write_data_done)
68-
write_data_done += conn->sess->sess_ops->MaxBurstLength;
69-
else
70-
break;
71-
}
72-
73-
cmd->write_data_done = write_data_done;
74-
}
75-
7628
static int iscsit_attach_active_connection_recovery_entry(
7729
struct iscsit_session *sess,
7830
struct iscsi_conn_recovery *cr)

drivers/target/iscsi/iscsi_target_erl2.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ struct iscsit_conn;
99
struct iscsi_conn_recovery;
1010
struct iscsit_session;
1111

12-
extern void iscsit_create_conn_recovery_datain_values(struct iscsit_cmd *, __be32);
13-
extern void iscsit_create_conn_recovery_dataout_values(struct iscsit_cmd *);
1412
extern struct iscsi_conn_recovery *iscsit_get_inactive_connection_recovery_entry(
1513
struct iscsit_session *, u16);
1614
extern void iscsit_free_connection_recovery_entries(struct iscsit_session *);

drivers/target/iscsi/iscsi_target_nego.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ int iscsi_target_check_login_request(
212212

213213
if ((login_req->max_version != login->version_max) ||
214214
(login_req->min_version != login->version_min)) {
215-
pr_err("Login request changed Version Max/Nin"
215+
pr_err("Login request changed Version Max/Min"
216216
" unexpectedly to 0x%02x/0x%02x, protocol error\n",
217217
login_req->max_version, login_req->min_version);
218218
iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR,
@@ -557,7 +557,7 @@ static void iscsi_target_do_login_rx(struct work_struct *work)
557557
* before initial PDU processing in iscsi_target_start_negotiation()
558558
* has completed, go ahead and retry until it's cleared.
559559
*
560-
* Otherwise if the TCP connection drops while this is occuring,
560+
* Otherwise if the TCP connection drops while this is occurring,
561561
* iscsi_target_start_negotiation() will detect the failure, call
562562
* cancel_delayed_work_sync(&conn->login_work), and cleanup the
563563
* remaining iscsi connection resources from iscsi_np process context.
@@ -1050,7 +1050,7 @@ static int iscsi_target_do_login(struct iscsit_conn *conn, struct iscsi_login *l
10501050
/*
10511051
* Check to make sure the TCP connection has not
10521052
* dropped asynchronously while session reinstatement
1053-
* was occuring in this kthread context, before
1053+
* was occurring in this kthread context, before
10541054
* transitioning to full feature phase operation.
10551055
*/
10561056
if (iscsi_target_sk_check_close(conn))

drivers/target/iscsi/iscsi_target_parameters.c

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -67,54 +67,6 @@ int iscsi_login_tx_data(
6767
return 0;
6868
}
6969

70-
void iscsi_dump_conn_ops(struct iscsi_conn_ops *conn_ops)
71-
{
72-
pr_debug("HeaderDigest: %s\n", (conn_ops->HeaderDigest) ?
73-
"CRC32C" : "None");
74-
pr_debug("DataDigest: %s\n", (conn_ops->DataDigest) ?
75-
"CRC32C" : "None");
76-
pr_debug("MaxRecvDataSegmentLength: %u\n",
77-
conn_ops->MaxRecvDataSegmentLength);
78-
}
79-
80-
void iscsi_dump_sess_ops(struct iscsi_sess_ops *sess_ops)
81-
{
82-
pr_debug("InitiatorName: %s\n", sess_ops->InitiatorName);
83-
pr_debug("InitiatorAlias: %s\n", sess_ops->InitiatorAlias);
84-
pr_debug("TargetName: %s\n", sess_ops->TargetName);
85-
pr_debug("TargetAlias: %s\n", sess_ops->TargetAlias);
86-
pr_debug("TargetPortalGroupTag: %hu\n",
87-
sess_ops->TargetPortalGroupTag);
88-
pr_debug("MaxConnections: %hu\n", sess_ops->MaxConnections);
89-
pr_debug("InitialR2T: %s\n",
90-
(sess_ops->InitialR2T) ? "Yes" : "No");
91-
pr_debug("ImmediateData: %s\n", (sess_ops->ImmediateData) ?
92-
"Yes" : "No");
93-
pr_debug("MaxBurstLength: %u\n", sess_ops->MaxBurstLength);
94-
pr_debug("FirstBurstLength: %u\n", sess_ops->FirstBurstLength);
95-
pr_debug("DefaultTime2Wait: %hu\n", sess_ops->DefaultTime2Wait);
96-
pr_debug("DefaultTime2Retain: %hu\n",
97-
sess_ops->DefaultTime2Retain);
98-
pr_debug("MaxOutstandingR2T: %hu\n",
99-
sess_ops->MaxOutstandingR2T);
100-
pr_debug("DataPDUInOrder: %s\n",
101-
(sess_ops->DataPDUInOrder) ? "Yes" : "No");
102-
pr_debug("DataSequenceInOrder: %s\n",
103-
(sess_ops->DataSequenceInOrder) ? "Yes" : "No");
104-
pr_debug("ErrorRecoveryLevel: %hu\n",
105-
sess_ops->ErrorRecoveryLevel);
106-
pr_debug("SessionType: %s\n", (sess_ops->SessionType) ?
107-
"Discovery" : "Normal");
108-
}
109-
110-
void iscsi_print_params(struct iscsi_param_list *param_list)
111-
{
112-
struct iscsi_param *param;
113-
114-
list_for_each_entry(param, &param_list->param_list, p_list)
115-
pr_debug("%s: %s\n", param->name, param->value);
116-
}
117-
11870
static struct iscsi_param *iscsi_set_default_param(struct iscsi_param_list *param_list,
11971
char *name, char *value, u8 phase, u8 scope, u8 sender,
12072
u16 type_range, u8 use)

drivers/target/iscsi/iscsi_target_parameters.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ struct iscsi_sess_ops;
3232

3333
extern int iscsi_login_rx_data(struct iscsit_conn *, char *, int);
3434
extern int iscsi_login_tx_data(struct iscsit_conn *, char *, char *, int);
35-
extern void iscsi_dump_conn_ops(struct iscsi_conn_ops *);
36-
extern void iscsi_dump_sess_ops(struct iscsi_sess_ops *);
37-
extern void iscsi_print_params(struct iscsi_param_list *);
3835
extern int iscsi_create_default_params(struct iscsi_param_list **);
3936
extern int iscsi_set_keys_to_negotiate(struct iscsi_param_list *, bool);
4037
extern int iscsi_set_keys_irrelevant_for_discovery(struct iscsi_param_list *);

drivers/target/iscsi/iscsi_target_tpg.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,11 +200,6 @@ static void iscsit_clear_tpg_np_login_threads(
200200
spin_unlock(&tpg->tpg_np_lock);
201201
}
202202

203-
void iscsit_tpg_dump_params(struct iscsi_portal_group *tpg)
204-
{
205-
iscsi_print_params(tpg->param_list);
206-
}
207-
208203
static void iscsit_set_default_tpg_attribs(struct iscsi_portal_group *tpg)
209204
{
210205
struct iscsi_tpg_attrib *a = &tpg->tpg_attrib;

drivers/target/iscsi/iscsi_target_tpg.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ extern struct iscsi_portal_group *iscsit_get_tpg_from_np(struct iscsi_tiqn *,
1818
struct iscsi_np *, struct iscsi_tpg_np **);
1919
extern int iscsit_get_tpg(struct iscsi_portal_group *);
2020
extern void iscsit_put_tpg(struct iscsi_portal_group *);
21-
extern void iscsit_tpg_dump_params(struct iscsi_portal_group *);
2221
extern int iscsit_tpg_add_portal_group(struct iscsi_tiqn *, struct iscsi_portal_group *);
2322
extern int iscsit_tpg_del_portal_group(struct iscsi_tiqn *, struct iscsi_portal_group *,
2423
int);

drivers/target/iscsi/iscsi_target_util.c

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -333,50 +333,6 @@ int iscsit_sequence_cmd(struct iscsit_conn *conn, struct iscsit_cmd *cmd,
333333
}
334334
EXPORT_SYMBOL(iscsit_sequence_cmd);
335335

336-
int iscsit_check_unsolicited_dataout(struct iscsit_cmd *cmd, unsigned char *buf)
337-
{
338-
struct iscsit_conn *conn = cmd->conn;
339-
struct se_cmd *se_cmd = &cmd->se_cmd;
340-
struct iscsi_data *hdr = (struct iscsi_data *) buf;
341-
u32 payload_length = ntoh24(hdr->dlength);
342-
343-
if (conn->sess->sess_ops->InitialR2T) {
344-
pr_err("Received unexpected unsolicited data"
345-
" while InitialR2T=Yes, protocol error.\n");
346-
transport_send_check_condition_and_sense(se_cmd,
347-
TCM_UNEXPECTED_UNSOLICITED_DATA, 0);
348-
return -1;
349-
}
350-
351-
if ((cmd->first_burst_len + payload_length) >
352-
conn->sess->sess_ops->FirstBurstLength) {
353-
pr_err("Total %u bytes exceeds FirstBurstLength: %u"
354-
" for this Unsolicited DataOut Burst.\n",
355-
(cmd->first_burst_len + payload_length),
356-
conn->sess->sess_ops->FirstBurstLength);
357-
transport_send_check_condition_and_sense(se_cmd,
358-
TCM_INCORRECT_AMOUNT_OF_DATA, 0);
359-
return -1;
360-
}
361-
362-
if (!(hdr->flags & ISCSI_FLAG_CMD_FINAL))
363-
return 0;
364-
365-
if (((cmd->first_burst_len + payload_length) != cmd->se_cmd.data_length) &&
366-
((cmd->first_burst_len + payload_length) !=
367-
conn->sess->sess_ops->FirstBurstLength)) {
368-
pr_err("Unsolicited non-immediate data received %u"
369-
" does not equal FirstBurstLength: %u, and does"
370-
" not equal ExpXferLen %u.\n",
371-
(cmd->first_burst_len + payload_length),
372-
conn->sess->sess_ops->FirstBurstLength, cmd->se_cmd.data_length);
373-
transport_send_check_condition_and_sense(se_cmd,
374-
TCM_INCORRECT_AMOUNT_OF_DATA, 0);
375-
return -1;
376-
}
377-
return 0;
378-
}
379-
380336
struct iscsit_cmd *iscsit_find_cmd_from_itt(
381337
struct iscsit_conn *conn,
382338
itt_t init_task_tag)
@@ -1252,20 +1208,6 @@ int iscsit_tx_login_rsp(struct iscsit_conn *conn, u8 status_class, u8 status_det
12521208
return conn->conn_transport->iscsit_put_login_tx(conn, login, 0);
12531209
}
12541210

1255-
void iscsit_print_session_params(struct iscsit_session *sess)
1256-
{
1257-
struct iscsit_conn *conn;
1258-
1259-
pr_debug("-----------------------------[Session Params for"
1260-
" SID: %u]-----------------------------\n", sess->sid);
1261-
spin_lock_bh(&sess->conn_lock);
1262-
list_for_each_entry(conn, &sess->sess_conn_list, conn_list)
1263-
iscsi_dump_conn_ops(conn->conn_ops);
1264-
spin_unlock_bh(&sess->conn_lock);
1265-
1266-
iscsi_dump_sess_ops(sess->sess_ops);
1267-
}
1268-
12691211
int rx_data(
12701212
struct iscsit_conn *conn,
12711213
struct kvec *iov,

0 commit comments

Comments
 (0)