scsi: use 64-bit LUNs
The SCSI standard defines 64-bit values for LUNs, and large arrays employing large or hierarchical LUN numbers become more and more common. So update the linux SCSI stack to use 64-bit LUN numbers. Signed-off-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Christoph Hellwig <hch@infradead.org> Reviewed-by: Ewan Milne <emilne@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:

committed by
Christoph Hellwig

parent
755f516bbb
commit
9cb78c16f5
@@ -258,7 +258,7 @@ static void
|
||||
lpfc_send_sdev_queuedepth_change_event(struct lpfc_hba *phba,
|
||||
struct lpfc_vport *vport,
|
||||
struct lpfc_nodelist *ndlp,
|
||||
uint32_t lun,
|
||||
uint64_t lun,
|
||||
uint32_t old_val,
|
||||
uint32_t new_val)
|
||||
{
|
||||
@@ -3823,7 +3823,7 @@ lpfc_handle_fcp_err(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
|
||||
if (rsplen != 0 && rsplen != 4 && rsplen != 8) {
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
"2719 Invalid response length: "
|
||||
"tgt x%x lun x%x cmnd x%x rsplen x%x\n",
|
||||
"tgt x%x lun x%llx cmnd x%x rsplen x%x\n",
|
||||
cmnd->device->id,
|
||||
cmnd->device->lun, cmnd->cmnd[0],
|
||||
rsplen);
|
||||
@@ -3834,7 +3834,7 @@ lpfc_handle_fcp_err(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
"2757 Protocol failure detected during "
|
||||
"processing of FCP I/O op: "
|
||||
"tgt x%x lun x%x cmnd x%x rspInfo3 x%x\n",
|
||||
"tgt x%x lun x%llx cmnd x%x rspInfo3 x%x\n",
|
||||
cmnd->device->id,
|
||||
cmnd->device->lun, cmnd->cmnd[0],
|
||||
fcprsp->rspInfo3);
|
||||
@@ -4045,7 +4045,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
|
||||
else
|
||||
logit = LOG_FCP | LOG_FCP_UNDER;
|
||||
lpfc_printf_vlog(vport, KERN_WARNING, logit,
|
||||
"9030 FCP cmd x%x failed <%d/%d> "
|
||||
"9030 FCP cmd x%x failed <%d/%lld> "
|
||||
"status: x%x result: x%x "
|
||||
"sid: x%x did: x%x oxid: x%x "
|
||||
"Data: x%x x%x\n",
|
||||
@@ -4157,7 +4157,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
|
||||
uint32_t *lp = (uint32_t *)cmd->sense_buffer;
|
||||
|
||||
lpfc_printf_vlog(vport, KERN_INFO, LOG_FCP,
|
||||
"0710 Iodone <%d/%d> cmd %p, error "
|
||||
"0710 Iodone <%d/%llu> cmd %p, error "
|
||||
"x%x SNS x%x x%x Data: x%x x%x\n",
|
||||
cmd->device->id, cmd->device->lun, cmd,
|
||||
cmd->result, *lp, *(lp + 3), cmd->retries,
|
||||
@@ -4390,7 +4390,7 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
|
||||
static int
|
||||
lpfc_scsi_prep_task_mgmt_cmd(struct lpfc_vport *vport,
|
||||
struct lpfc_scsi_buf *lpfc_cmd,
|
||||
unsigned int lun,
|
||||
uint64_t lun,
|
||||
uint8_t task_mgmt_cmd)
|
||||
{
|
||||
struct lpfc_iocbq *piocbq;
|
||||
@@ -4719,12 +4719,12 @@ lpfc_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *cmnd)
|
||||
atomic_dec(&ndlp->cmd_pending);
|
||||
lpfc_printf_vlog(vport, KERN_INFO, LOG_FCP,
|
||||
"3376 FCP could not issue IOCB err %x"
|
||||
"FCP cmd x%x <%d/%d> "
|
||||
"FCP cmd x%x <%d/%llu> "
|
||||
"sid: x%x did: x%x oxid: x%x "
|
||||
"Data: x%x x%x x%x x%x\n",
|
||||
err, cmnd->cmnd[0],
|
||||
cmnd->device ? cmnd->device->id : 0xffff,
|
||||
cmnd->device ? cmnd->device->lun : 0xffff,
|
||||
cmnd->device ? cmnd->device->lun : (u64) -1,
|
||||
vport->fc_myDID, ndlp->nlp_DID,
|
||||
phba->sli_rev == LPFC_SLI_REV4 ?
|
||||
lpfc_cmd->cur_iocbq.sli4_xritag : 0xffff,
|
||||
@@ -4807,7 +4807,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
|
||||
spin_unlock_irqrestore(&phba->hbalock, flags);
|
||||
lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
|
||||
"2873 SCSI Layer I/O Abort Request IO CMPL Status "
|
||||
"x%x ID %d LUN %d\n",
|
||||
"x%x ID %d LUN %llu\n",
|
||||
SUCCESS, cmnd->device->id, cmnd->device->lun);
|
||||
return SUCCESS;
|
||||
}
|
||||
@@ -4924,7 +4924,7 @@ wait_for_cmpl:
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
"0748 abort handler timed out waiting "
|
||||
"for abortng I/O (xri:x%x) to complete: "
|
||||
"ret %#x, ID %d, LUN %d\n",
|
||||
"ret %#x, ID %d, LUN %llu\n",
|
||||
iocb->sli4_xritag, ret,
|
||||
cmnd->device->id, cmnd->device->lun);
|
||||
}
|
||||
@@ -4935,7 +4935,7 @@ out_unlock:
|
||||
out:
|
||||
lpfc_printf_vlog(vport, KERN_WARNING, LOG_FCP,
|
||||
"0749 SCSI Layer I/O Abort Request Status x%x ID %d "
|
||||
"LUN %d\n", ret, cmnd->device->id,
|
||||
"LUN %llu\n", ret, cmnd->device->id,
|
||||
cmnd->device->lun);
|
||||
return ret;
|
||||
}
|
||||
@@ -5047,7 +5047,7 @@ lpfc_check_fcp_rsp(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd)
|
||||
**/
|
||||
static int
|
||||
lpfc_send_taskmgmt(struct lpfc_vport *vport, struct lpfc_rport_data *rdata,
|
||||
unsigned tgt_id, unsigned int lun_id,
|
||||
unsigned tgt_id, uint64_t lun_id,
|
||||
uint8_t task_mgmt_cmd)
|
||||
{
|
||||
struct lpfc_hba *phba = vport->phba;
|
||||
@@ -5083,7 +5083,7 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct lpfc_rport_data *rdata,
|
||||
iocbq->iocb_cmpl = lpfc_tskmgmt_def_cmpl;
|
||||
|
||||
lpfc_printf_vlog(vport, KERN_INFO, LOG_FCP,
|
||||
"0702 Issue %s to TGT %d LUN %d "
|
||||
"0702 Issue %s to TGT %d LUN %llu "
|
||||
"rpi x%x nlp_flag x%x Data: x%x x%x\n",
|
||||
lpfc_taskmgmt_name(task_mgmt_cmd), tgt_id, lun_id,
|
||||
pnode->nlp_rpi, pnode->nlp_flag, iocbq->sli4_xritag,
|
||||
@@ -5094,7 +5094,7 @@ lpfc_send_taskmgmt(struct lpfc_vport *vport, struct lpfc_rport_data *rdata,
|
||||
if ((status != IOCB_SUCCESS) ||
|
||||
(iocbqrsp->iocb.ulpStatus != IOSTAT_SUCCESS)) {
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
"0727 TMF %s to TGT %d LUN %d failed (%d, %d) "
|
||||
"0727 TMF %s to TGT %d LUN %llu failed (%d, %d) "
|
||||
"iocb_flag x%x\n",
|
||||
lpfc_taskmgmt_name(task_mgmt_cmd),
|
||||
tgt_id, lun_id, iocbqrsp->iocb.ulpStatus,
|
||||
@@ -5238,7 +5238,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
|
||||
struct lpfc_rport_data *rdata;
|
||||
struct lpfc_nodelist *pnode;
|
||||
unsigned tgt_id = cmnd->device->id;
|
||||
unsigned int lun_id = cmnd->device->lun;
|
||||
uint64_t lun_id = cmnd->device->lun;
|
||||
struct lpfc_scsi_event_header scsi_event;
|
||||
int status;
|
||||
|
||||
@@ -5273,7 +5273,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
|
||||
FCP_LUN_RESET);
|
||||
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
"0713 SCSI layer issued Device Reset (%d, %d) "
|
||||
"0713 SCSI layer issued Device Reset (%d, %llu) "
|
||||
"return x%x\n", tgt_id, lun_id, status);
|
||||
|
||||
/*
|
||||
@@ -5308,7 +5308,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
|
||||
struct lpfc_rport_data *rdata;
|
||||
struct lpfc_nodelist *pnode;
|
||||
unsigned tgt_id = cmnd->device->id;
|
||||
unsigned int lun_id = cmnd->device->lun;
|
||||
uint64_t lun_id = cmnd->device->lun;
|
||||
struct lpfc_scsi_event_header scsi_event;
|
||||
int status;
|
||||
|
||||
@@ -5343,7 +5343,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
|
||||
FCP_TARGET_RESET);
|
||||
|
||||
lpfc_printf_vlog(vport, KERN_ERR, LOG_FCP,
|
||||
"0723 SCSI layer issued Target Reset (%d, %d) "
|
||||
"0723 SCSI layer issued Target Reset (%d, %llu) "
|
||||
"return x%x\n", tgt_id, lun_id, status);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user