2006-10-04 21:01:23

by James Bottomley

[permalink] [raw]
Subject: [GIT PATCH] scsi updates for post 2.6.18

This is (hopefully) my final batch of updates before we go -rc1. It's
mainly code cleanups, some driver updates and the new qla4xxx iScsi
driver.

The patch is available here:

master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git

The short changelog is:

Alan Cox:
o Switch ips to pci_register from pci_module

Alexey Dobriyan:
o 3w-xxxx: fix "ATA UDMA upgrade" message number

Andrew Morton:
o scsi: device_reprobe() can fail

Andrew Vasquez:
o qla2xxx: Update version number to 8.01.07-k2
o qla2xxx: Stall mid-layer error handlers while rport is blocked
o qla2xxx: Add MODULE_FIRMWARE tags
o qla2xxx: Add support for host port state FC transport attribute
o qla2xxx: Add support for fabric name FC transport attribute
o qla2xxx: Add support for system hostname FC transport attribute
o qla2xxx: Add support for symbolic nodename FC transport attribute
o qla2xxx: Add iIDMA support

Arne Redlich:
o trivial scsi_execute_async fix

Brian King:
o ipr: Support attaching SATA devices

David Somayajulu:
o Initial Commit of qla4xxx

Denis Vlasenko:
o aic7xxx: fix byte I/O order in ahd_inw

Douglas Gilbert:
o sg: fixes for large page_size

Ed Lin:
o stex: add new device (id 0x8650) support
o stex: cancel unused field in struct req_msg

Eric Sesterhenn:
o fix scsi_device_types overrun in scsi.c
o Signedness issue in drivers/scsi/ipr.c
o Signdness issue in drivers/scsi/osst.c

Eric W. Biederman:
o megaraid: Use the proper type to hold the irq number

Guennadi Liakhovetski:
o enable clustering for tmscsim

Henne:
o scsi: remove hosts.h
o scsi: Scsi_Cmnd convertion in aic7xxx_old.c
o scsi: Scsi_Cmnd convertion in arm subtree
o scsi: Convertion to struct scsi_cmnd in ips-driver

Henrik Kretzschmar:
o pci_module_init conversion in scsi subsystem
o scsi: included header cleanup
o seagate: remove header and convert to struct scsi_cmnd

James Smart:
o lpfc: don't free mempool if mailbox is busy

Jeff Garzik:
o raid class: handle component-add errors
o megaraid_sas: handle thrown errors
o aic94xx: handle sysfs errors
o st: fix error handling in module init, sysfs
o sd: fix module init/exit error handling
o osst: add error handling to module init, sysfs

Jes Sorensen:
o qla1280 command timeout

Michal Piotrowski:
o drivers/message/fusion/linux_compat.h Removal of old code
o drivers/scsi/gdth.h: removal of old scsi code
o drivers/scsi/dpt/dpti_i2o.h: removal of old scsi code
o drivers/scsi/nsp32.h: removal of old scsi code

Mike Christie:
o scsi_devinfo: scsi2 HP and Hitachi entries
o scsi_devinfo: add nec iStorage
o scsi_devinfo: add Tornado
o scsi_devinfo: add EMC Invista

Muli Ben-Yehuda:
o aic94xx: require firmware loader

Randy Dunlap:
o dc395x: fix printk format warning

Sumant Patro:
o megaraid_sas: sets ioctl timeout and updates version,changelog
o megaraid_sas: adds tasklet for cmd completion
o megaraid_sas: prints pending cmds before setting hw_crit_error
o megaraid_sas: function pointer for disable interrupt
o megaraid_sas: frame count optimization
o megaraid_sas: FW transition and q size changes

And the diffstat:

b/Documentation/scsi/ChangeLog.megaraid_sas | 45
b/drivers/message/fusion/linux_compat.h | 9
b/drivers/scsi/3w-9xxx.c | 2
b/drivers/scsi/3w-xxxx.c | 2
b/drivers/scsi/3w-xxxx.h | 2
b/drivers/scsi/Kconfig | 7
b/drivers/scsi/Makefile | 1
b/drivers/scsi/a100u2w.c | 2
b/drivers/scsi/aic7xxx/aic79xx_inline.h | 3
b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c | 2
b/drivers/scsi/aic7xxx/aic7xxx_inline.h | 3
b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c | 3
b/drivers/scsi/aic7xxx_old.c | 298 ++--
b/drivers/scsi/aic94xx/Kconfig | 1
b/drivers/scsi/aic94xx/aic94xx_init.c | 41
b/drivers/scsi/arm/acornscsi.c | 48
b/drivers/scsi/arm/acornscsi.h | 4
b/drivers/scsi/arm/fas216.c | 50
b/drivers/scsi/arm/fas216.h | 36
b/drivers/scsi/arm/queue.c | 37
b/drivers/scsi/arm/queue.h | 28
b/drivers/scsi/arm/scsi.h | 2
b/drivers/scsi/dc395x.c | 4
b/drivers/scsi/dmx3191d.c | 2
b/drivers/scsi/dpt/dpti_i2o.h | 10
b/drivers/scsi/dpt_i2o.c | 2
b/drivers/scsi/dpti.h | 2
b/drivers/scsi/gdth.h | 10
b/drivers/scsi/ipr.c | 687 ++++++++++
b/drivers/scsi/ipr.h | 18
b/drivers/scsi/ips.c | 91 -
b/drivers/scsi/ips.h | 16
b/drivers/scsi/lpfc/lpfc_init.c | 6
b/drivers/scsi/megaraid/mega_common.h | 2
b/drivers/scsi/megaraid/megaraid_sas.c | 362 ++++-
b/drivers/scsi/megaraid/megaraid_sas.h | 22
b/drivers/scsi/nsp32.c | 2
b/drivers/scsi/nsp32.h | 42
b/drivers/scsi/osst.c | 134 +-
b/drivers/scsi/pcmcia/nsp_cs.c | 1
b/drivers/scsi/qla1280.c | 6
b/drivers/scsi/qla2xxx/qla_attr.c | 57
b/drivers/scsi/qla2xxx/qla_def.h | 40
b/drivers/scsi/qla2xxx/qla_gbl.h | 9
b/drivers/scsi/qla2xxx/qla_gs.c | 228 +++
b/drivers/scsi/qla2xxx/qla_init.c | 84 +
b/drivers/scsi/qla2xxx/qla_isr.c | 4
b/drivers/scsi/qla2xxx/qla_mbx.c | 86 +
b/drivers/scsi/qla2xxx/qla_os.c | 48
b/drivers/scsi/qla2xxx/qla_version.h | 2
b/drivers/scsi/qla4xxx/Kconfig | 7
b/drivers/scsi/qla4xxx/Makefile | 5
b/drivers/scsi/qla4xxx/ql4_dbg.c | 197 +++
b/drivers/scsi/qla4xxx/ql4_dbg.h | 55
b/drivers/scsi/qla4xxx/ql4_def.h | 586 +++++++++
b/drivers/scsi/qla4xxx/ql4_fw.h | 843 +++++++++++++
b/drivers/scsi/qla4xxx/ql4_glbl.h | 78 +
b/drivers/scsi/qla4xxx/ql4_init.c | 1340 +++++++++++++++++++++
b/drivers/scsi/qla4xxx/ql4_inline.h | 84 +
b/drivers/scsi/qla4xxx/ql4_iocb.c | 368 +++++
b/drivers/scsi/qla4xxx/ql4_isr.c | 797 ++++++++++++
b/drivers/scsi/qla4xxx/ql4_mbx.c | 930 ++++++++++++++
b/drivers/scsi/qla4xxx/ql4_nvram.c | 224 +++
b/drivers/scsi/qla4xxx/ql4_nvram.h | 256 ++++
b/drivers/scsi/qla4xxx/ql4_os.c | 1755 ++++++++++++++++++++++++++++
b/drivers/scsi/qla4xxx/ql4_version.h | 13
b/drivers/scsi/raid_class.c | 20
b/drivers/scsi/scsi.c | 2
b/drivers/scsi/scsi_devinfo.c | 16
b/drivers/scsi/scsi_lib.c | 2
b/drivers/scsi/sd.c | 23
b/drivers/scsi/seagate.c | 24
b/drivers/scsi/sg.c | 53
b/drivers/scsi/st.c | 115 +
b/drivers/scsi/stex.c | 197 ++-
b/drivers/scsi/tmscsim.c | 12
b/include/linux/raid_class.h | 5
b/include/scsi/scsi_device.h | 4
b/include/scsi/sg.h | 59
drivers/scsi/hosts.h | 2
drivers/scsi/seagate.h | 19
81 files changed, 9920 insertions(+), 774 deletions(-)

James



2006-10-05 19:11:47

by Guennadi Liakhovetski

[permalink] [raw]
Subject: Re: [GIT PATCH] scsi updates for post 2.6.18

On Wed, 4 Oct 2006, James Bottomley wrote:

> This is (hopefully) my final batch of updates before we go -rc1. It's
> mainly code cleanups, some driver updates and the new qla4xxx iScsi
> driver.

James, is there a reason why you didn't include this one:

http://marc.theaimsgroup.com/?l=linux-scsi&m=115974328128341&w=2

Do you think it can cause problems?

Thanks
Guennadi
---
Guennadi Liakhovetski

2006-10-05 19:16:27

by Jeff Garzik

[permalink] [raw]
Subject: Re: [GIT PATCH] scsi updates for post 2.6.18

Guennadi Liakhovetski wrote:
> On Wed, 4 Oct 2006, James Bottomley wrote:
>
>> This is (hopefully) my final batch of updates before we go -rc1. It's
>> mainly code cleanups, some driver updates and the new qla4xxx iScsi
>> driver.
>
> James, is there a reason why you didn't include this one:
>
> http://marc.theaimsgroup.com/?l=linux-scsi&m=115974328128341&w=2
>
> Do you think it can cause problems?

It would be nice to get it tested, based on your "don't know if it works
though" comment...

Jeff



2006-10-05 19:56:33

by Guennadi Liakhovetski

[permalink] [raw]
Subject: Re: [GIT PATCH] scsi updates for post 2.6.18

On Thu, 5 Oct 2006, Jeff Garzik wrote:

> Guennadi Liakhovetski wrote:
> > On Wed, 4 Oct 2006, James Bottomley wrote:
> >
> > > This is (hopefully) my final batch of updates before we go -rc1. It's
> > > mainly code cleanups, some driver updates and the new qla4xxx iScsi
> > > driver.
> >
> > James, is there a reason why you didn't include this one:
> >
> > http://marc.theaimsgroup.com/?l=linux-scsi&m=115974328128341&w=2
> >
> > Do you think it can cause problems?
>
> It would be nice to get it tested, based on your "don't know if it works
> though" comment...

Sure, it WOULD be nice, but I don't know how. The "don't know" refers to
the case 16MB block size, my tape supports only 16MB - 1 byte (according
to st report). Is there a way to test various block sizes with CDs /
hard-disks / ZIP / scanners? Would something with sg_dd work? Looks like
it must be only sector size. Can I low-level format a disk with 16M
sector?:-)

Another possibility is to limit the block size at 8MB - I can test that.

Thanks
Guennadi
---
Guennadi Liakhovetski

2006-10-05 20:12:29

by Jeff Garzik

[permalink] [raw]
Subject: Re: [GIT PATCH] scsi updates for post 2.6.18

Guennadi Liakhovetski wrote:
> Sure, it WOULD be nice, but I don't know how. The "don't know" refers to
> the case 16MB block size, my tape supports only 16MB - 1 byte (according
> to st report). Is there a way to test various block sizes with CDs /
> hard-disks / ZIP / scanners? Would something with sg_dd work? Looks like
> it must be only sector size. Can I low-level format a disk with 16M
> sector?:-)
>
> Another possibility is to limit the block size at 8MB - I can test that.

I would say, increase it to whatever the max is you can test...

Jeff


2006-10-05 22:12:49

by Guennadi Liakhovetski

[permalink] [raw]
Subject: Re: [GIT PATCH] scsi updates for post 2.6.18

On Thu, 5 Oct 2006, Jeff Garzik wrote:

> Guennadi Liakhovetski wrote:
> > Sure, it WOULD be nice, but I don't know how. The "don't know" refers to the
> > case 16MB block size, my tape supports only 16MB - 1 byte (according to st
> > report). Is there a way to test various block sizes with CDs / hard-disks /
> > ZIP / scanners? Would something with sg_dd work? Looks like it must be only
> > sector size. Can I low-level format a disk with 16M sector?:-)
> >
> > Another possibility is to limit the block size at 8MB - I can test that.
>
> I would say, increase it to whatever the max is you can test...

Ok, tested with 8MB, an updated patch submitted.

Thanks for the suggestion
Guennadi
---
Guennadi Liakhovetski

2006-10-05 23:33:35

by Douglas Gilbert

[permalink] [raw]
Subject: Re: [GIT PATCH] scsi updates for post 2.6.18

Guennadi Liakhovetski wrote:
> On Thu, 5 Oct 2006, Jeff Garzik wrote:
>
>> Guennadi Liakhovetski wrote:
>>> On Wed, 4 Oct 2006, James Bottomley wrote:
>>>
>>>> This is (hopefully) my final batch of updates before we go -rc1. It's
>>>> mainly code cleanups, some driver updates and the new qla4xxx iScsi
>>>> driver.
>>> James, is there a reason why you didn't include this one:
>>>
>>> http://marc.theaimsgroup.com/?l=linux-scsi&m=115974328128341&w=2
>>>
>>> Do you think it can cause problems?
>> It would be nice to get it tested, based on your "don't know if it works
>> though" comment...
>
> Sure, it WOULD be nice, but I don't know how. The "don't know" refers to
> the case 16MB block size, my tape supports only 16MB - 1 byte (according
> to st report). Is there a way to test various block sizes with CDs /
> hard-disks / ZIP / scanners?
> Would something with sg_dd work?

Interesting challenge.

In lk 2.6.19-rc1 with /dev/sda and
/dev/sg0 the same SCSI disk I can get close:

[root@sas parameters]# cd /sys/block/sda/queue/
[root@sas queue]# echo 32767 > max_sectors_kb
[root@sas queue]# cd /sys/module/sg/parameters/
[root@sas parameters]# echo 131072 > scatter_elem_sz
[root@sas parameters]# sg_dd if=/dev/sg0 of=/dev/null bs=512 bpt=32640 count=32k verbose=3
>> Input file type: SCSI generic (sg) device
open input(sg_io), flags=0x800
inquiry cdb: 12 00 00 00 24 00
/dev/sg0: SEAGATE ST336754SS 0003 [pdt=0]
>> Output file type: null device
read cdb: 28 00 00 00 00 00 00 7f 80 00
duration=180 ms
read cdb: 28 00 00 00 7f 80 00 00 80 00
duration=4 ms
32768+0 records in
32768+0 records out

So I got within 128 (512 byte) sectors of a 16 MB transfer
on a single command. Hmm.
This is with a adaptec 48300 HBA with the aic94xx driver
(take your pick which one).

Looks like
> it must be only sector size. Can I low-level format a disk with 16M
> sector?:-)

No usually. Some SCSI disk can be formatted up to 528
byte sectors but that is a long way short.

> Another possibility is to limit the block size at 8MB - I can test that.

The sg driver gets around that in lk 2.6.19-rc1

Doug Gilbert