RE: [PATCH 2/2] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE

2008-01-14 Thread Salyzyn, Mark
ACK on ips, aacraid and dpt_i2o bits. Cursory inspection of other bits as well. 
Thanks Fujita, looks good!

Will do a 'min()' cleanup on aacraid once patch propagates into scsi-misc-2.6

Sincerely -- Mark Salyzyn

cur*so*ry - adjective
going rapidly over something, without noticing details; hasty; 
superficial. spedd reeding

. . .
 o This is a 'grep and replace' style patch but cleans up dpt_i2o a bit
 as by permission of Mark (I use min macro).

 o The previous version overlooked some sizeof sense_buffer lines in
 aacraid and qla4xxx.
. . .
 diff --git a/drivers/scsi/aacraid/aachba.c
 b/drivers/scsi/aacraid/aachba.c
 index 62d9516..aadedbd 100644
 --- a/drivers/scsi/aacraid/aachba.c
 +++ b/drivers/scsi/aacraid/aachba.c
 @@ -912,8 +912,8 @@ static int aac_bounds_32(struct aac_dev *
 dev, struct scsi_cmnd * cmd, u64 lba)
 ASENCODE_INTERNAL_TARGET_FAILURE, 0, 0,
 0, 0);
 memcpy(cmd-sense_buffer,
 dev-fsa_dev[cid].sense_data,
 - (sizeof(dev-fsa_dev[cid].sense_data) 
 sizeof(cmd-sense_buffer))
 -   ? sizeof(cmd-sense_buffer)
 + (sizeof(dev-fsa_dev[cid].sense_data) 
 SCSI_SENSE_BUFFERSIZE)
 +   ? SCSI_SENSE_BUFFERSIZE
 : sizeof(dev-fsa_dev[cid].sense_data));
 cmd-scsi_done(cmd);
 return 1;
 @@ -1525,8 +1525,8 @@ static void io_callback(void *context,
 struct fib * fibptr)

 ASENCODE_INTERNAL_TARGET_FAILURE, 0, 0,
 0, 0);
 memcpy(scsicmd-sense_buffer,
 dev-fsa_dev[cid].sense_data,
 - (sizeof(dev-fsa_dev[cid].sense_data) 
 sizeof(scsicmd-sense_buffer))
 -   ? sizeof(scsicmd-sense_buffer)
 + (sizeof(dev-fsa_dev[cid].sense_data) 
 SCSI_SENSE_BUFFERSIZE)
 +   ? SCSI_SENSE_BUFFERSIZE
 : sizeof(dev-fsa_dev[cid].sense_data));
 }
 aac_fib_complete(fibptr);
 @@ -1739,8 +1739,8 @@ static void synchronize_callback(void
 *context, struct fib *fibptr)

 ASENCODE_INTERNAL_TARGET_FAILURE, 0, 0,
 0, 0);
 memcpy(cmd-sense_buffer,
 dev-fsa_dev[cid].sense_data,
 - min(sizeof(dev-fsa_dev[cid].sense_data),
 - sizeof(cmd-sense_buffer)));
 +  min_t(size_t,
 sizeof(dev-fsa_dev[cid].sense_data),
 +SCSI_SENSE_BUFFERSIZE));
 }

 aac_fib_complete(fibptr);
 @@ -1949,8 +1949,8 @@ int aac_scsi_cmd(struct scsi_cmnd * scsicmd)
 SENCODE_INVALID_COMMAND,
 ASENCODE_INVALID_COMMAND, 0, 0, 0, 0);
 memcpy(scsicmd-sense_buffer,
 dev-fsa_dev[cid].sense_data,
 - (sizeof(dev-fsa_dev[cid].sense_data) 
 sizeof(scsicmd-sense_buffer))
 -   ? sizeof(scsicmd-sense_buffer)
 + (sizeof(dev-fsa_dev[cid].sense_data) 
 SCSI_SENSE_BUFFERSIZE)
 +   ? SCSI_SENSE_BUFFERSIZE
 : sizeof(dev-fsa_dev[cid].sense_data));
 scsicmd-scsi_done(scsicmd);
 return 0;
 @@ -2002,8 +2002,8 @@ int aac_scsi_cmd(struct scsi_cmnd * scsicmd)
 memcpy(scsicmd-sense_buffer,
   dev-fsa_dev[cid].sense_data,

 (sizeof(dev-fsa_dev[cid].sense_data) 
 -   sizeof(scsicmd-sense_buffer))
 -  ? sizeof(scsicmd-sense_buffer)
 +   SCSI_SENSE_BUFFERSIZE)
 +  ? SCSI_SENSE_BUFFERSIZE
:
 sizeof(dev-fsa_dev[cid].sense_data));
 }
 scsicmd-scsi_done(scsicmd);
 @@ -2259,8 +2259,8 @@ int aac_scsi_cmd(struct scsi_cmnd * scsicmd)
 ILLEGAL_REQUEST,
 SENCODE_INVALID_COMMAND,
 ASENCODE_INVALID_COMMAND, 0, 0, 0, 0);
 memcpy(scsicmd-sense_buffer,
 dev-fsa_dev[cid].sense_data,
 -
 (sizeof(dev-fsa_dev[cid].sense_data)  sizeof(scsicmd-sense_buffer))
 -   ? sizeof(scsicmd-sense_buffer)
 +
 (sizeof(dev-fsa_dev[cid].sense_data)  SCSI_SENSE_BUFFERSIZE)
 +   ? SCSI_SENSE_BUFFERSIZE
 : sizeof(dev-fsa_dev[cid].sense_data));
 scsicmd-scsi_done(scsicmd);
 return 0;
 @@ -2422,8 +2422,8 @@ static void aac_srb_callback(void
 *context, struct fib * fibptr)
 int len;
 printk(KERN_WARNING aac_srb_callback: srb
 failed, status = %d\n, le32_to_cpu(srbreply-status));
 len = (le32_to_cpu(srbreply-sense_data_size) 
 -   sizeof(scsicmd-sense_buffer)) ?
 -   

[PATCH 2/2] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE

2008-01-12 Thread FUJITA Tomonori
This is the second version of

http://marc.info/?l=linux-scsim=119933628210012w=2

o I dropped fas216 since Boaz's patch in scsi-pending will be merged
before solving the sense_buffer dma issue.

o This is a 'grep and replace' style patch but cleans up dpt_i2o a bit
as by permission of Mark (I use min macro).

o The previous version overlooked some sizeof sense_buffer lines in
aacraid and qla4xxx.

o I overlooked the ncr53c8xx compile warning.

=
From: FUJITA Tomonori [EMAIL PROTECTED]
Subject: [PATCH 2/2] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE

This replaces sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE in
several LLDs. It's a preparation for the future changes to remove
sense_buffer array in scsi_cmnd structure.

Signed-off-by: FUJITA Tomonori [EMAIL PROTECTED]
---
 drivers/ata/libata-scsi.c   |4 ++--
 drivers/message/fusion/mptscsih.c   |2 +-
 drivers/message/i2o/i2o_scsi.c  |2 +-
 drivers/scsi/53c700.c   |   11 ++-
 drivers/scsi/BusLogic.c |2 +-
 drivers/scsi/aacraid/aachba.c   |   32 
 drivers/scsi/advansys.c |   14 +++---
 drivers/scsi/aha1542.c  |4 ++--
 drivers/scsi/aha1740.c  |2 +-
 drivers/scsi/aic7xxx/aic79xx_osm.c  |6 +++---
 drivers/scsi/aic7xxx/aic7xxx_osm.c  |6 +++---
 drivers/scsi/aic7xxx_old.c  |   10 +-
 drivers/scsi/arcmsr/arcmsr_hba.c|6 +++---
 drivers/scsi/dc395x.c   |   16 +++-
 drivers/scsi/dpt_i2o.c  |5 ++---
 drivers/scsi/eata.c |4 ++--
 drivers/scsi/hptiop.c   |2 +-
 drivers/scsi/ips.c  |6 ++
 drivers/scsi/ncr53c8xx.c|3 ++-
 drivers/scsi/qla1280.c  |4 ++--
 drivers/scsi/qla2xxx/qla_isr.c  |   12 ++--
 drivers/scsi/qla4xxx/ql4_isr.c  |   11 ---
 drivers/scsi/qlogicpti.c|2 +-
 drivers/scsi/scsi_error.c   |6 +++---
 drivers/scsi/scsi_lib.c |2 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c |5 ++---
 drivers/scsi/tmscsim.c  |6 +++---
 drivers/scsi/u14-34f.c  |4 ++--
 drivers/scsi/ultrastor.c|2 +-
 29 files changed, 92 insertions(+), 99 deletions(-)

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 4bb268b..b633341 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -2334,7 +2334,7 @@ static void atapi_request_sense(struct ata_queued_cmd *qc)
DPRINTK(ATAPI request sense\n);
 
/* FIXME: is this needed? */
-   memset(cmd-sense_buffer, 0, sizeof(cmd-sense_buffer));
+   memset(cmd-sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
 
ap-ops-tf_read(ap, qc-tf);
 
@@ -2344,7 +2344,7 @@ static void atapi_request_sense(struct ata_queued_cmd *qc)
 
ata_qc_reinit(qc);
 
-   ata_sg_init_one(qc, cmd-sense_buffer, sizeof(cmd-sense_buffer));
+   ata_sg_init_one(qc, cmd-sense_buffer, SCSI_SENSE_BUFFERSIZE);
qc-dma_dir = DMA_FROM_DEVICE;
 
memset(qc-cdb, 0, qc-dev-cdb_len);
diff --git a/drivers/message/fusion/mptscsih.c 
b/drivers/message/fusion/mptscsih.c
index 626bb3c..5c614ec 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -111,7 +111,7 @@ int mptscsih_suspend(struct pci_dev *pdev, 
pm_message_t state);
 intmptscsih_resume(struct pci_dev *pdev);
 #endif
 
-#define SNS_LEN(scp)   sizeof((scp)-sense_buffer)
+#define SNS_LEN(scp)   SCSI_SENSE_BUFFERSIZE
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
 /**
diff --git a/drivers/message/i2o/i2o_scsi.c b/drivers/message/i2o/i2o_scsi.c
index aa6fb94..1bcdbbb 100644
--- a/drivers/message/i2o/i2o_scsi.c
+++ b/drivers/message/i2o/i2o_scsi.c
@@ -370,7 +370,7 @@ static int i2o_scsi_reply(struct i2o_controller *c, u32 m,
 */
if (cmd-result)
memcpy(cmd-sense_buffer, msg-body[3],
-  min(sizeof(cmd-sense_buffer), (size_t) 40));
+  min(SCSI_SENSE_BUFFERSIZE, 40));
 
/* only output error code if AdapterStatus is not HBA_SUCCESS */
if ((error  8)  0xff)
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index 71ff3fb..f4c4fe9 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -608,7 +608,8 @@ NCR_700_scsi_done(struct NCR_700_Host_Parameters *hostdata,
scsi_print_sense(53c700, SCp);
 
 #endif
-   dma_unmap_single(hostdata-dev, slot-dma_handle, 
sizeof(SCp-sense_buffer), DMA_FROM_DEVICE);
+   dma_unmap_single(hostdata-dev, slot-dma_handle,
+SCSI_SENSE_BUFFERSIZE, 
DMA_FROM_DEVICE);
/* restore the old result if the request sense was
 * successful