mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
SCSI misc on 20190315
This is the final round of mostly small fixes and performance improvements to our initial submit. The main regression fix is the ia64 simscsi build failure which was missed in the serial number elimination conversion. Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCXIxBayYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pisherpAP4rxLpX bcUnQnEsvoxys/JyoK08Qfv1JebZo1B2MAZ62wD/VZ7LpOuzVLhsM2KhLFGRrs1/ 7D2K4tgtO2dQsFix7H0= =pcHl -----END PGP SIGNATURE----- Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull more SCSI updates from James Bottomley: "This is the final round of mostly small fixes and performance improvements to our initial submit. The main regression fix is the ia64 simscsi build failure which was missed in the serial number elimination conversion" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (24 commits) scsi: ia64: simscsi: use request tag instead of serial_number scsi: aacraid: Fix performance issue on logical drives scsi: lpfc: Fix error codes in lpfc_sli4_pci_mem_setup() scsi: libiscsi: Hold back_lock when calling iscsi_complete_task scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of HiLink scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP target port scsi: hisi_sas: Set PHY linkrate when disconnected scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO scsi: hisi_sas: Change return variable type in phy_up_v3_hw() scsi: qla2xxx: check for kstrtol() failure scsi: lpfc: fix 32-bit format string warning scsi: lpfc: fix unused variable warning scsi: target: tcmu: Switch to bitmap_zalloc() scsi: libiscsi: fall back to sendmsg for slab pages scsi: qla2xxx: avoid printf format warning scsi: lpfc: resolve static checker warning in lpfc_sli4_hba_unset scsi: lpfc: Correct __lpfc_sli_issue_iocb_s4 lockdep check scsi: ufs: hisi: fix ufs_hba_variant_ops passing scsi: qla2xxx: Fix panic in qla_dfs_tgt_counters_show ...
This commit is contained in:
commit
477558d7e8
22 changed files with 210 additions and 80 deletions
|
@ -798,7 +798,7 @@ EXPORT_SYMBOL_GPL(iscsi_conn_send_pdu);
|
|||
* @datalen: len of buffer
|
||||
*
|
||||
* iscsi_cmd_rsp sets up the scsi_cmnd fields based on the PDU and
|
||||
* then completes the command and task.
|
||||
* then completes the command and task. called under back_lock
|
||||
**/
|
||||
static void iscsi_scsi_cmd_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
|
||||
struct iscsi_task *task, char *data,
|
||||
|
@ -894,6 +894,9 @@ out:
|
|||
* @conn: iscsi connection
|
||||
* @hdr: iscsi pdu
|
||||
* @task: scsi command task
|
||||
*
|
||||
* iscsi_data_in_rsp sets up the scsi_cmnd fields based on the data received
|
||||
* then completes the command and task. called under back_lock
|
||||
**/
|
||||
static void
|
||||
iscsi_data_in_rsp(struct iscsi_conn *conn, struct iscsi_hdr *hdr,
|
||||
|
@ -978,6 +981,16 @@ static int iscsi_send_nopout(struct iscsi_conn *conn, struct iscsi_nopin *rhdr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* iscsi_nop_out_rsp - SCSI NOP Response processing
|
||||
* @task: scsi command task
|
||||
* @nop: the nop structure
|
||||
* @data: where to put the data
|
||||
* @datalen: length of data
|
||||
*
|
||||
* iscsi_nop_out_rsp handles nop response from use or
|
||||
* from user space. called under back_lock
|
||||
**/
|
||||
static int iscsi_nop_out_rsp(struct iscsi_task *task,
|
||||
struct iscsi_nopin *nop, char *data, int datalen)
|
||||
{
|
||||
|
@ -1750,7 +1763,9 @@ int iscsi_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *sc)
|
|||
return 0;
|
||||
|
||||
prepd_reject:
|
||||
spin_lock_bh(&session->back_lock);
|
||||
iscsi_complete_task(task, ISCSI_TASK_REQUEUE_SCSIQ);
|
||||
spin_unlock_bh(&session->back_lock);
|
||||
reject:
|
||||
spin_unlock_bh(&session->frwd_lock);
|
||||
ISCSI_DBG_SESSION(session, "cmd 0x%x rejected (%d)\n",
|
||||
|
@ -1758,7 +1773,9 @@ reject:
|
|||
return SCSI_MLQUEUE_TARGET_BUSY;
|
||||
|
||||
prepd_fault:
|
||||
spin_lock_bh(&session->back_lock);
|
||||
iscsi_complete_task(task, ISCSI_TASK_REQUEUE_SCSIQ);
|
||||
spin_unlock_bh(&session->back_lock);
|
||||
fault:
|
||||
spin_unlock_bh(&session->frwd_lock);
|
||||
ISCSI_DBG_SESSION(session, "iscsi: cmd 0x%x is not queued (%d)\n",
|
||||
|
@ -3075,8 +3092,9 @@ fail_mgmt_tasks(struct iscsi_session *session, struct iscsi_conn *conn)
|
|||
state = ISCSI_TASK_ABRT_SESS_RECOV;
|
||||
if (task->state == ISCSI_TASK_PENDING)
|
||||
state = ISCSI_TASK_COMPLETED;
|
||||
spin_lock_bh(&session->back_lock);
|
||||
iscsi_complete_task(task, state);
|
||||
|
||||
spin_unlock_bh(&session->back_lock);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue