scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session"
commit807b9515b7
upstream. Since commite9d3009cb9
introduced a regression and since the fix for that regression was not perfect, revert this commit. Link: https://marc.info/?l=target-devel&m=158157054906195 Cc: Rahul Kundu <rahul.kundu@chelsio.com> Cc: Mike Marciniszyn <mike.marciniszyn@intel.com> Cc: Sagi Grimberg <sagi@grimberg.me> Reported-by: Dakshaja Uppalapati <dakshaja@chelsio.com> Fixes:e9d3009cb9
("scsi: target: iscsi: Wait for all commands to finish before freeing a session") Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d92e714a46
commit
826a43b22c
|
@ -1165,9 +1165,7 @@ int iscsit_setup_scsi_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd,
|
||||||
hdr->cmdsn, be32_to_cpu(hdr->data_length), payload_length,
|
hdr->cmdsn, be32_to_cpu(hdr->data_length), payload_length,
|
||||||
conn->cid);
|
conn->cid);
|
||||||
|
|
||||||
if (target_get_sess_cmd(&cmd->se_cmd, true) < 0)
|
target_get_sess_cmd(&cmd->se_cmd, true);
|
||||||
return iscsit_add_reject_cmd(cmd,
|
|
||||||
ISCSI_REASON_WAITING_FOR_LOGOUT, buf);
|
|
||||||
|
|
||||||
cmd->sense_reason = transport_lookup_cmd_lun(&cmd->se_cmd,
|
cmd->sense_reason = transport_lookup_cmd_lun(&cmd->se_cmd,
|
||||||
scsilun_to_int(&hdr->lun));
|
scsilun_to_int(&hdr->lun));
|
||||||
|
@ -2004,9 +2002,7 @@ iscsit_handle_task_mgt_cmd(struct iscsi_conn *conn, struct iscsi_cmd *cmd,
|
||||||
conn->sess->se_sess, 0, DMA_NONE,
|
conn->sess->se_sess, 0, DMA_NONE,
|
||||||
TCM_SIMPLE_TAG, cmd->sense_buffer + 2);
|
TCM_SIMPLE_TAG, cmd->sense_buffer + 2);
|
||||||
|
|
||||||
if (target_get_sess_cmd(&cmd->se_cmd, true) < 0)
|
target_get_sess_cmd(&cmd->se_cmd, true);
|
||||||
return iscsit_add_reject_cmd(cmd,
|
|
||||||
ISCSI_REASON_WAITING_FOR_LOGOUT, buf);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TASK_REASSIGN for ERL=2 / connection stays inside of
|
* TASK_REASSIGN for ERL=2 / connection stays inside of
|
||||||
|
@ -4236,8 +4232,6 @@ int iscsit_close_connection(
|
||||||
* must wait until they have completed.
|
* must wait until they have completed.
|
||||||
*/
|
*/
|
||||||
iscsit_check_conn_usage_count(conn);
|
iscsit_check_conn_usage_count(conn);
|
||||||
target_sess_cmd_list_set_waiting(sess->se_sess);
|
|
||||||
target_wait_for_sess_cmds(sess->se_sess);
|
|
||||||
|
|
||||||
ahash_request_free(conn->conn_tx_hash);
|
ahash_request_free(conn->conn_tx_hash);
|
||||||
if (conn->conn_rx_hash) {
|
if (conn->conn_rx_hash) {
|
||||||
|
|
|
@ -627,7 +627,6 @@ struct iscsi_reject {
|
||||||
#define ISCSI_REASON_BOOKMARK_INVALID 9
|
#define ISCSI_REASON_BOOKMARK_INVALID 9
|
||||||
#define ISCSI_REASON_BOOKMARK_NO_RESOURCES 10
|
#define ISCSI_REASON_BOOKMARK_NO_RESOURCES 10
|
||||||
#define ISCSI_REASON_NEGOTIATION_RESET 11
|
#define ISCSI_REASON_NEGOTIATION_RESET 11
|
||||||
#define ISCSI_REASON_WAITING_FOR_LOGOUT 12
|
|
||||||
|
|
||||||
/* Max. number of Key=Value pairs in a text message */
|
/* Max. number of Key=Value pairs in a text message */
|
||||||
#define MAX_KEY_VALUE_PAIRS 8192
|
#define MAX_KEY_VALUE_PAIRS 8192
|
||||||
|
|
Loading…
Reference in New Issue