diff options
author | Hannes Reinecke <hare@suse.de> | 2014-06-25 09:27:36 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-07-17 16:07:37 -0400 |
commit | 9cb78c16f5dadefd8dc5ba0ae5a2f26cd59419b3 (patch) | |
tree | 576b86c3ec56dd7176285ec2d27f27ca55f77bc3 /drivers/scsi/aic7xxx/aic7xxx_osm.c | |
parent | 755f516bbb983915d6cbfb5aa592cc0a5a99fd00 (diff) |
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>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic7xxx_osm.c')
-rw-r--r-- | drivers/scsi/aic7xxx/aic7xxx_osm.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c index 114ff0c6e311..d2c9bf39033d 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c | |||
@@ -2110,7 +2110,7 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag) | |||
2110 | */ | 2110 | */ |
2111 | printk("%s:%d:%d:%d: Is not an active device\n", | 2111 | printk("%s:%d:%d:%d: Is not an active device\n", |
2112 | ahc_name(ahc), cmd->device->channel, cmd->device->id, | 2112 | ahc_name(ahc), cmd->device->channel, cmd->device->id, |
2113 | cmd->device->lun); | 2113 | (u8)cmd->device->lun); |
2114 | retval = SUCCESS; | 2114 | retval = SUCCESS; |
2115 | goto no_cmd; | 2115 | goto no_cmd; |
2116 | } | 2116 | } |
@@ -2118,11 +2118,11 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag) | |||
2118 | if ((dev->flags & (AHC_DEV_Q_BASIC|AHC_DEV_Q_TAGGED)) == 0 | 2118 | if ((dev->flags & (AHC_DEV_Q_BASIC|AHC_DEV_Q_TAGGED)) == 0 |
2119 | && ahc_search_untagged_queues(ahc, cmd, cmd->device->id, | 2119 | && ahc_search_untagged_queues(ahc, cmd, cmd->device->id, |
2120 | cmd->device->channel + 'A', | 2120 | cmd->device->channel + 'A', |
2121 | cmd->device->lun, | 2121 | (u8)cmd->device->lun, |
2122 | CAM_REQ_ABORTED, SEARCH_COMPLETE) != 0) { | 2122 | CAM_REQ_ABORTED, SEARCH_COMPLETE) != 0) { |
2123 | printk("%s:%d:%d:%d: Command found on untagged queue\n", | 2123 | printk("%s:%d:%d:%d: Command found on untagged queue\n", |
2124 | ahc_name(ahc), cmd->device->channel, cmd->device->id, | 2124 | ahc_name(ahc), cmd->device->channel, cmd->device->id, |
2125 | cmd->device->lun); | 2125 | (u8)cmd->device->lun); |
2126 | retval = SUCCESS; | 2126 | retval = SUCCESS; |
2127 | goto done; | 2127 | goto done; |
2128 | } | 2128 | } |
@@ -2188,13 +2188,14 @@ ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag) | |||
2188 | SEARCH_COMPLETE) > 0) { | 2188 | SEARCH_COMPLETE) > 0) { |
2189 | printk("%s:%d:%d:%d: Cmd aborted from QINFIFO\n", | 2189 | printk("%s:%d:%d:%d: Cmd aborted from QINFIFO\n", |
2190 | ahc_name(ahc), cmd->device->channel, | 2190 | ahc_name(ahc), cmd->device->channel, |
2191 | cmd->device->id, cmd->device->lun); | 2191 | cmd->device->id, (u8)cmd->device->lun); |
2192 | retval = SUCCESS; | 2192 | retval = SUCCESS; |
2193 | goto done; | 2193 | goto done; |
2194 | } | 2194 | } |
2195 | } else if (ahc_search_qinfifo(ahc, cmd->device->id, | 2195 | } else if (ahc_search_qinfifo(ahc, cmd->device->id, |
2196 | cmd->device->channel + 'A', | 2196 | cmd->device->channel + 'A', |
2197 | cmd->device->lun, pending_scb->hscb->tag, | 2197 | cmd->device->lun, |
2198 | pending_scb->hscb->tag, | ||
2198 | ROLE_INITIATOR, /*status*/0, | 2199 | ROLE_INITIATOR, /*status*/0, |
2199 | SEARCH_COUNT) > 0) { | 2200 | SEARCH_COUNT) > 0) { |
2200 | disconnected = FALSE; | 2201 | disconnected = FALSE; |