aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* [SCSI] aacraid: draw line in sand, sundry cleanup and version updateSalyzyn, Mark2007-07-27
| | | | | | | | | | Minor unimportant cuttings from the floor bundled in with a version stamp update. Only controversial change is the dropping of Alan Cox copyright on the nark.c module since that file has no code written by him in it. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] iscsi_tcp: Turn off bounce buffersMike Christie2007-07-27
| | | | | | | | | | | | | It was found by LSI that on setups with large amounts of memory we were bouncing buffers when we did not need to. If the iscsi tcp code touches the data buffer (or a helper does), it will kmap the buffer. iscsi_tcp also does not interact with hardware, so it does not have any hw dma restrictions. This patch sets the bounce buffer settings for our device queue so buffers should not be bounced because of a driver limit. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] libiscsi: fix cmd seqeunce number checkingMike Christie2007-07-27
| | | | | | | | | We should not be checking the cmd windown for just handling r2t responses. And if the window closes in on us, always have scsi-ml requeue the command from our queuecommand function. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host templateMike Christie2007-07-27
| | | | | | | | | This prevents the iscsi modules from being unloaded while there are active mounts from an iscsi target. Signed-off-by: Olaf Kirch <olaf.kirch@oracle.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] libiscsi: make sure session is not blocked when removing hostMike Christie2007-07-27
| | | | | | | | | | When we logout we block the session since we are not taking any more commands, but when we call remove host we want to make sure any IO that got queued up and blocked gets failed upwards quickly, so we unblock the session and fail it. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] libsas: Remove PCI dependenciesJeff Garzik2007-07-26
| | | | | | | | Eliminate unnecessary PCI dependencies in libsas. It should use generic DMA and struct device like other subsystems. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] sym53c8xx: don't claim cpqarray deviceChip Coldwell2007-07-24
| | | | | | | | | | | | | | | | | | | Apropos this thread http://marc.theaimsgroup.com/?l=linux-scsi&m=115591706804045&w=2 which led to this patch http://www.kernel.org/git/?p=linux/kernel/git/jejb/scsi-rc-fixes-2.6.git;a=commit;h=b2b3c121076961333977f485f0d54c22121df920 We also need to fix sym53c8xx only to bind to the PCI ID if it is of device class PCI_CLASS_STORAGE_SCSI (otherwise it will be the cpqarray RAID device). Signed-off-by: Chip Coldwell <coldwell@redhat.com> Cc: Matthew Wilcox <willy@debian.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] libsas: SMP request handler shouldn't crash when rphy is NULLDarrick J. Wong2007-07-24
| | | | | | | | | | sas_smp_handler crashes when smp utils are used with an aic94xx host because certain devices (the sas_host itself, specifically) lack rphy structures. No rphy means no SMP target support, but we shouldn't crash here. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] aacraid: sysfs adapter reset/status format change.Salyzyn, Mark2007-07-23
| | | | | | | | We need to newline terminate responses from nodes within the sysfs tree, the Adapter status value reported by the reset adapter node is adjusted. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] aacraid: Fix security holeAlan Cox2007-07-23
| | | | | | | | | | | On the SCSI layer ioctl path there is no implicit permissions check for ioctls (and indeed other drivers implement unprivileged ioctls). aacraid however allows all sorts of very admin only things to be done so should check. Signed-off-by: Alan Cox <alan@redhat.com> Acked-by: "Salyzyn, Mark" <mark_salyzyn@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Data accessors Cleanup of last mergeBoaz Harrosh2007-07-23
| | | | | | | | - Left overs from last code merges of qla2xxx Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Acked-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* Merge branch 'for-linus' of ↵Linus Torvalds2007-07-22
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Support small QP queues IB/ehca: Make internal_create/destroy_qp() static IB/ehca: Move ehca2ib_return_code() out of line IB/ehca: Generate async event when SRQ limit reached IB/ehca: Support large page MRs IB/mlx4: Fix error path in create_qp_common() mlx4_core: Change command token on timeout IB/mthca: Change command token on timeout IB/ipath: Remove ipath_layer dead code IB/mlx4: Fix leaks in __mlx4_ib_modify_qp
| * IB/ehca: Support small QP queuesStefan Roscher2007-07-21
| | | | | | | | | | | | | | | | | | | | | | eHCA2 supports QP queues that can be as small as 512 bytes. This greatly reduces memory overhead for consumers that use lots of QPs with small queues (e.g. RDMA-only QPs). Apart from dealing with firmware, this code needs to manage bite-sized chunks of kernel pages, making sure that no kernel page is shared between different protection domains. Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
| * IB/ehca: Make internal_create/destroy_qp() staticJoachim Fenkes2007-07-21
| | | | | | | | | | | | | | They're only used in ehca_qp.c, so make them static to that file. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ehca: Move ehca2ib_return_code() out of lineHoang-Nam Nguyen2007-07-21
| | | | | | | | | | | | | | | | ehca2ib_return_code() is not used in any fast path, and making it non-inline saves ~1.5K of code. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ehca: Generate async event when SRQ limit reachedHoang-Nam Nguyen2007-07-21
| | | | | | | | | | Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ehca: Support large page MRsHoang-Nam Nguyen2007-07-21
| | | | | | | | | | | | | | | | | | | | | | Add support for MR pages larger than 4K on eHCA2. This reduces firmware memory consumption. If enabled via the mr_largepage module parameter, the MR page size will be determined based on the MR length and the hardware capabilities -- if the MR is >= 16M, 16M pages are used, for example. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/mlx4: Fix error path in create_qp_common()Roland Dreier2007-07-21
| | | | | | | | | | | | | | | | | | | | | | | | The error handling code at err_wrid in create_qp_common() does not handle a userspace QP attached to an SRQ correctly, since it ends up in the else clause of the if statement. This means it tries to kfree() the uninitialized qp->sq.wrid and qp->rq.wrid pointers. Fix this so we only free the wrid arrays for kernel QPs. Pointed out by Michael S. Tsirkin <mst@dev.mellanox.co.il>. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * mlx4_core: Change command token on timeoutRoland Dreier2007-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The FW command token is currently only updated on a command completion event. This means that on command timeout, the same token will be reused for new command, which results in a mess if the timed out command *does* eventually complete. This is the same change as the patch for mthca from Michael S. Tsirkin <mst@dev.mellanox.co.il> that was just merged. It seems sensible to avoid gratuitous differences in FW command processing between mthca and mlx4. Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/mthca: Change command token on timeoutMichael S. Tsirkin2007-07-21
| | | | | | | | | | | | | | | | | | | | The FW command token is currently only updated on a command completion event. This means that on command timeout, the same token will be reused for new command, which results in a mess if the timed out command *does* eventually complete. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/ipath: Remove ipath_layer dead codeArthur Jones2007-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ipath_layer.[ch] code was an attempt to provide a single interface for the ipath verbs and ipath_ether code to use. As verbs functionality increased, the layer's functionality became insufficient and the verbs code broke away to interface directly to the driver. The failed attempt to get ipath_ether upstream was the final nail in the coffin and now it sits quietly in a dark kernel.org corner waiting for someone to notice the smell and send it along to it's final resting place. Roland Dreier was that someone -- this patch expands on his work... Signed-off-by: Arthur Jones <arthur.jones@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * IB/mlx4: Fix leaks in __mlx4_ib_modify_qpFlorin Malita2007-07-21
| | | | | | | | | | | | | | | | | | | | | | Temporarily allocated struct mlx4_qp_context *context is leaked by several error paths. The patch takes advantage of the return value 'err' being preinitialized to -EINVAL. Spotted by Coverity (CID 1768). Signed-off-by: Florin Malita <fmalita@gmail.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6Linus Torvalds2007-07-22
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (60 commits) [SCSI] libsas: make ATA functions selectable by a config option [SCSI] bsg: unexport sg v3 helper functions [SCSI] bsg: fix bsg_unregister_queue [SCSI] bsg: make class backlinks [SCSI] 3w-9xxx: add support for 9690SA [SCSI] bsg: fix bsg_register_queue error path [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275. [SCSI] libsas: fix scr_read/write users and update the libata documentation [SCSI] mpt fusion: update Kconfig help [SCSI] scsi_transport_sas: add destructor for bsg [SCSI] iscsi_tcp: buggered kmalloc() [SCSI] qla2xxx: Update version number to 8.02.00-k2. [SCSI] qla2xxx: Add ISP25XX support. [SCSI] qla2xxx: Use pci_try_set_mwi(). [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces. [SCSI] qla2xxx: Re-factor isp_operations to static structures. [SCSI] qla2xxx: Validate mid-layer 'underflow' during check-condition handling. [SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during FDMI registration. [SCSI] qla2xxx: Generalize iIDMA support. [SCSI] qla2xxx: Generalize FW-Interface-2 support. ...
| * | [SCSI] libsas: make ATA functions selectable by a config optionJames Bottomley2007-07-22
| | | | | | | | | | | | | | | | | | | | | | | | Not everyone wants libsas automatically to pull in libata. This patch makes the behaviour configurable, so you can build libsas with or without ATA support. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] bsg: make class backlinksJames Bottomley2007-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, bsg doesn't make class backlinks (a process whereby you'd get a link to bsg in the device directory in the same way you get one for sg). This is because the bsg device is uninitialised, so the class device has nothing it can attach to. The fix is to make the bsg device point to the cdevice of the entity creating the bsg, necessitating changing the bsg_register_queue() prototype into a form that takes the generic device. Acked-by: FUJITA Tomonori <tomof@acm.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] 3w-9xxx: add support for 9690SAadam radford2007-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch updates the 3ware 9000 driver: - Fix dma mask setting to fallback to 32-bit if 64-bit fails. - Add support for 9690SA controllers. Signed-off-by: Adam Radford <linuxraid@amcc.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275.David Miller2007-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches the original driver's value and seems to be necessary for some disks on sun4c systems. Reported by Mark Fortescue <mark@mtfhpc.demon.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] libsas: fix scr_read/write users and update the libata documentationJames Bottomley2007-07-20
| | | | | | | | | | | | | | | | | | | | | | | | This fixes up the usage in libsas (which are easy to miss, since they're only in the scsi-misc tree) ... and also corrects the documentation on the point of what these two function pointers actually return. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] mpt fusion: update Kconfig helpGwendal Grignou2007-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update help in Kconfig for mptfc driver to indicate the driver supports Brocade FC 4G HBA. signed-off-by: Gwendal Grignou <ggrignou@brocade.com> Acked-by: Eric Moore <eric.moore@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] scsi_transport_sas: add destructor for bsgJames Bottomley2007-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's currently no destructor for the bsg components. If you insert and remove the module, you see the bsg devices building up and up. This patch adds the destructor in the correct place in the transport class so that the bsg and request queue are removed just before the device destruction. Acked-by: FUJITA Tomonori <tomof@acm.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] iscsi_tcp: buggered kmalloc()Al Viro2007-07-20
| | | | | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Update version number to 8.02.00-k2.Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Add ISP25XX support.Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | | | | | | | | | | Large code-reuse from ISP24xx, consolidate RISC memory extraction routines during firmware-dump. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Use pci_try_set_mwi().Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | | | | | | | | | | As the "must-check" return-value of pci_set_msi() is never really checked. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces.Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | | | | | | | | | | Original from Peter Oruba <peter.oruba@amd.com>. Additional cleanups included. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Re-factor isp_operations to static structures.Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | | | | | | | In preparation for new ISP types. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Validate mid-layer 'underflow' during check-condition handling.Shyam Sundar2007-07-20
| | | | | | | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during ↵Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | | | | | | | FDMI registration. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Generalize iIDMA support.Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | | | | | | | In preparation for new ISP types. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] qla2xxx: Generalize FW-Interface-2 support.Andrew Vasquez2007-07-20
| | | | | | | | | | | | | | | | | | | | | In preparation for new ISP types. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] bsg: separate bsg and SCSI (so SCSI can be modular)James Bottomley2007-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the bsg registration into SCSI so that bsg no longer has a dependency on the scsi_interface_register API. This can be viewed as a temporary expedient until we can get universal bsg binding sorted out properly. Also use the sdev bus_id as the generic bsg name (to avoid clashes with the queue name). Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] Make scsi_host_template::proc_name const char * instead of char *.Kristian Høgsberg2007-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kristian Høgsberg <krh@redhat.com> collapsed with fw-sbp2 patch "Drop cast to non-const char * in host template initialization." from Kristian Høgsberg Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: code cleanupSwen Schillig2007-07-18
| | | | | | | | | | | | | | | | | | | | | improve code for buffer enqueue. easy readability and maintainability. Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: NULL vs 0 usageHeiko Carstens2007-07-18
| | | | | | | | | | | | | | | | | | | | | | | | Get rid of two 'warning: Using plain integer as NULL pointer'. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] zfcp: Replace kmalloc/memset with kzallocSwen Schillig2007-07-18
| | | | | | | | | | | | | | | | | | | | | | | | Memory allocated with kmalloc is always initialzed to 0 with memset. Replace the two calls with kzalloc, that already does both steps. Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] libsas: kill unused smp_portal codeFUJITA Tomonori2007-07-18
| | | | | | | | | | | | | | | Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] libsas: add SAS management protocol handlerFUJITA Tomonori2007-07-18
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for SAS Management Protocol (SMP) passthrough support via bsg. aic94xx can use this. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] transport_sas: add SAS management protocol supportFUJITA Tomonori2007-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | The sas transport class attaches one bsg device to every SAS object (host, device, expander, etc). LLDs can define a function to handle SMP requests via sas_function_template::smp_handler. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] a4000t, zorro7xx, mvme16x, bvme6000,sim710: xxx_device_remove seems buggyMatthew Wilcox2007-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix drivers misusing dev_to_shost Some drivers were using dev_to_shost to go from a struct device to the corresponding shost. Unfortunately, dev_to_shost only looks up the tree to find an shost (it's designed to go from a scsi_device or a scsi_target to the parent scsi_host), and these drivers were calling it with the parent of the scsi_host. I've fixed this by saving a pointer to the Scsi_Host in the drvdata, which matches what most scsi drivers do. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] aacraid: add vpd to inquirySalyzyn, Mark2007-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Report VPD inquiry page 0x80 with an unique array creation serial number (CUID). When an array is created, the metadata stored on the physical drives gets an unique serial number. This serial number remains constant through array morphing or migration to other controllers. This patch is a forward port and modification to survive morphing and migration operations, of a similar piece of (un-attributed author) code added to the SLES10 SP1 aacraid driver. To test the results of the patch, observe that /dev/disk/by-id/ entries will show up for the arrays resulting from the udev rules. Also, as per the udev rules, 'scsi_id -g -x -a -s /block/sd? -d /dev/sd?' will report the ID_SERIAL as constructed from the inquiry data. It was reported to me that the 'ADPT' leading the serial number was bad form, that the inquiry vendor field was enough to differentiate the storage uniquely. Subsequent search found that another Adaptec AAC based driver reported the 8 hex serial number only without such adornments, so dropped ADPT to match. Resubmitting the patch with this alteration. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>