aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message/i2o
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2014-06-25 09:27:36 -0400
committerChristoph Hellwig <hch@lst.de>2014-07-17 16:07:37 -0400
commit9cb78c16f5dadefd8dc5ba0ae5a2f26cd59419b3 (patch)
tree576b86c3ec56dd7176285ec2d27f27ca55f77bc3 /drivers/message/i2o
parent755f516bbb983915d6cbfb5aa592cc0a5a99fd00 (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/message/i2o')
-rw-r--r--drivers/message/i2o/i2o_scsi.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/message/i2o/i2o_scsi.c b/drivers/message/i2o/i2o_scsi.c
index 1d31d7284cbd..e7de92c67cf6 100644
--- a/drivers/message/i2o/i2o_scsi.c
+++ b/drivers/message/i2o/i2o_scsi.c
@@ -78,7 +78,7 @@ static unsigned int i2o_scsi_max_lun = 255;
78struct i2o_scsi_host { 78struct i2o_scsi_host {
79 struct Scsi_Host *scsi_host; /* pointer to the SCSI host */ 79 struct Scsi_Host *scsi_host; /* pointer to the SCSI host */
80 struct i2o_controller *iop; /* pointer to the I2O controller */ 80 struct i2o_controller *iop; /* pointer to the I2O controller */
81 unsigned int lun; /* lun's used for block devices */ 81 u64 lun; /* lun's used for block devices */
82 struct i2o_device *channel[0]; /* channel->i2o_dev mapping table */ 82 struct i2o_device *channel[0]; /* channel->i2o_dev mapping table */
83}; 83};
84 84
@@ -287,9 +287,8 @@ static int i2o_scsi_probe(struct device *dev)
287 } 287 }
288 288
289 if (le64_to_cpu(lun) >= scsi_host->max_lun) { 289 if (le64_to_cpu(lun) >= scsi_host->max_lun) {
290 osm_warn("SCSI device lun (%lu) >= max_lun of I2O host (%d)", 290 osm_warn("SCSI device lun (%llu) >= max_lun of I2O host (%d)",
291 (long unsigned int)le64_to_cpu(lun), 291 le64_to_cpu(lun), scsi_host->max_lun);
292 scsi_host->max_lun);
293 return -EFAULT; 292 return -EFAULT;
294 } 293 }
295 294
@@ -308,9 +307,9 @@ static int i2o_scsi_probe(struct device *dev)
308 if (rc) 307 if (rc)
309 goto err; 308 goto err;
310 309
311 osm_info("device added (TID: %03x) channel: %d, id: %d, lun: %ld\n", 310 osm_info("device added (TID: %03x) channel: %d, id: %d, lun: %llu\n",
312 i2o_dev->lct_data.tid, channel, le32_to_cpu(id), 311 i2o_dev->lct_data.tid, channel, le32_to_cpu(id),
313 (long unsigned int)le64_to_cpu(lun)); 312 le64_to_cpu(lun));
314 313
315 return 0; 314 return 0;
316 315