Skip to content
Snippets Groups Projects
  1. Sep 07, 2006
  2. Sep 02, 2006
    • James Smart's avatar
      [SCSI] SCSI and FC Transport: add netlink support for posting of transport events · 84314fd4
      James Smart authored
      This patch formally adds support for the posting of FC events via netlink.
      It is a followup to the original RFC at:
        http://marc.theaimsgroup.com/?l=linux-scsi&m=114530667923464&w=2
      and the initial posting at:
        http://marc.theaimsgroup.com/?l=linux-scsi&m=115507374832500&w=2
      
      The patch has been updated to optimize the send path, per the discussions
      in the initial posting.
      
      Per discussions at the Storage Summit and at OLS, we are to use netlink for
      async events from transports. Also per discussions, to avoid a netlink
      protocol per transport, I've create a single NETLINK_SCSITRANSPORT protocol,
      which can then be used by all transports.
      
      This patch:
      - Creates new files scsi_netlink.c and scsi_netlink.h, which contains the
        single and shared definitions for the SCSI Transport. It is tied into the
        base SCSI subsystem intialization.
        Contains a single interface routine, scsi_send_transport_event(), for a
        transport to send an event (via multicast to a protocol specific group).
      - Creates a new scsi_netlink_fc.h file, which contains the FC netlink event
        messages
      - Adds 3 new routines to the fc transport:
         fc_get_event_number() -  to get a FC event #
         fc_host_post_event()  -  to send a simple FC event (32 bits of data)
         fc_host_post_vendor_event() - to send a Vendor unique event, with
                                       arbitrary amounts of data.
      
         Note: the separation of event number allows for a LLD to send a standard
           event, followed by vendor-specific data for the event.
      
      Note: This patch assumes 2 prior fc transport patches have been installed:
         http://marc.theaimsgroup.com/?l=linux-scsi&m=115555807316329&w=2
         http://marc.theaimsgroup.com/?l=linux-scsi&m=115581614930261&w=2
      
      
      
         Sorry - next time I'll do something like making these individual
         patches of the same posting when I know they'll be posted closely
         together.
      
      Signed-off-by: default avatarJames Smart <James.Smart@emulex.com>
      
      Tidy up configuration not to make SCSI always select NET
      
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      84314fd4
    • Jeff Garzik's avatar
      [SCSI] Add Promise SuperTrak driver · 5a25ba16
      Jeff Garzik authored
      
      Add Promise SuperTrak 'stex' driver, supporting SuperTrak
      EX8350/8300/16350/16300 controllers.  The controller's firmware accepts
      SCSI commands, handing them to the underlying RAID or JBOD disks.
      
      The driver consisted of the following cleanups and fixes, beyond its
      initial submission:
      
      Ed Lin:
            stex: cleanup and minor fixes
            stex: add new device ids
            stex: update internal copy code path
            stex: add hard reset function
            stex: adjust command timeout in slave_config routine
            stex: use more efficient method for unload/shutdown flush
      
      Jeff Garzik:
            [SCSI] Add Promise SuperTrak 'shasta' driver.
            Rename drivers/scsi/shasta.c to stex.c ("SuperTrak EX").
            [SCSI] stex: update with community comments from 'Promise SuperTrak' thread
            [SCSI] stex: Fix warning, trim trailing whitespace.
            [SCSI] stex: remove last remnants of "shasta" project code name
            [SCSI] stex: removed 6-byte command emulation
            [SCSI] stex: minor cleanups
            [SCSI] stex: minor fixes: irq flag, error return value
            [SCSI] stex: use dma_alloc_coherent()
      
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      5a25ba16
  3. Aug 29, 2006
    • James Bottomley's avatar
      [SCSI] aic94xx: new driver · 2908d778
      James Bottomley authored
      
      This is the end point of the separate aic94xx driver based on the
      original driver and transport class from Luben Tuikov
      <ltuikov@yahoo.com>
      
      The log of the separate development is:
      
      Alexis Bruemmer:
        o aic94xx: fix hotplug/unplug for expanderless systems
        o aic94xx: disable split completion timer/setting by default
        o aic94xx: wide port off expander support
        o aic94xx: remove various inline functions
        o aic94xx: use bitops
        o aic94xx: remove queue comment
        o aic94xx: remove sas_common.c
        o aic94xx: sas remove depot's
        o aic94xx: use available list_for_each_entry_safe_reverse()
        o aic94xx: sas header file merge
      
      James Bottomley:
        o aic94xx: fix TF_TMF_NO_CTX processing
        o aic94xx: convert to request_firmware interface
        o aic94xx: fix hotplug/unplug
        o aic94xx: add link error counts to the expander phys
        o aic94xx: add transport class phy reset capability
        o aic94xx: remove local_attached flag
        o Remove README
        o Fixup Makefile variable for libsas rename
        o Rename sas->libsas
        o aic94xx: correct return code for sas_discover_event
        o aic94xx: use parent backlink port
        o aic94xx: remove channel abstraction
        o aic94xx: fix routing algorithms
        o aic94xx: add backlink port
        o aic94xx: fix cascaded expander properties
        o aic94xx: fix sleep under lock
        o aic94xx: fix panic on module removal in complex topology
        o aic94xx: make use of the new sas_port
        o rename sas_port to asd_sas_port
        o Fix for eh_strategy_handler move
        o aic94xx: move entirely over to correct transport class formulation
        o remove last vestages of sas_rphy_alloc()
        o update for eh_timed_out move
        o Preliminary expander support for aic94xx
        o sas: remove event thread
        o minor warning cleanups
        o remove last vestiges of id mapping arrays
        o Further updates
        o Convert aic94xx over entirely to the transport class end device and
        o update aic94xx/sas to use the new sas transport class end device
        o [PATCH] aic94xx: attaching to the sas transport class
        o Add missing completion removal from prior patch
        o [PATCH] aic94xx: attaching to the sas transport class
        o Build fixes from akpm
      
      Jeff Garzik:
        o [scsi aic94xx] Remove ->owner from PCI info table
      
      Luben Tuikov:
        o initial aic94xx driver
      
      Mike Anderson:
        o aic94xx: fix panic on module insertion
        o aic94xx: stub out SATA_DEV case
        o aic94xx: compile warning cleanups
        o aic94xx: sas_alloc_task
        o aic94xx: ref count update
        o aic94xx nexus loss time value
        o [PATCH] aic94xx: driver assertion in non-x86 BIOS env
      
      Randy Dunlap:
        o libsas: externs not needed
      
      Robert Tarte:
        o aic94xx: sequence patch - fixes SATA support
      
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      2908d778
  4. Aug 10, 2006
  5. Jul 28, 2006
  6. Jun 27, 2006
  7. Jun 10, 2006
    • HighPoint Linux Team's avatar
      [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver · ede1e6f8
      HighPoint Linux Team authored
      
      HighPoint RocketRAID 3220/3320 series 8 channel PCI-X SATA RAID Host
      Adapters.
      
      Fixes from original submission:
      
      Merge Andrew Morton's patches:
      - Provide locking for global list
      - Fix debug printks
      - uninline function with multiple callsites
      - coding style fixups
      - remove unneeded casts of void*
      - kfree(NULL) is legal
      - Don't "succeed" if register_chrdev() failed - otherwise we'll later
        unregister a not-registered chrdev.
      - Don't return from hptiop_do_ioctl() with the spinlock held.
      - uninline __hpt_do_ioctl()
      
      Update for Arjan van de Ven's comments:
      - put all asm/ includes after the linux/ ones
      - replace mdelay with msleep
      - add pci posting flush
      - do not set pci command reqister in map_pci_bar
      - do not try merging sg elements in hptiop_buildsgl()
      - remove unused outstandingcommands member from hba structure
      - remove unimplemented hptiop_abort() handler
      - remove typedef u32 hpt_id_t
      
      Other updates:
      - fix endianess
      
      Signed-off-by: default avatarHighPoint Linux Team <linux@highpoint-tech.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      ede1e6f8
  8. Jun 09, 2006
  9. Apr 29, 2006
  10. Apr 13, 2006
  11. Mar 22, 2006
  12. Mar 20, 2006
  13. Jan 06, 2006
  14. Dec 16, 2005
  15. Nov 12, 2005
  16. Nov 06, 2005
  17. Oct 29, 2005
  18. Oct 17, 2005
  19. Oct 10, 2005
  20. Sep 09, 2005
    • James Bottomley's avatar
      [SCSI] move iscsi to a better place in Kconfig · 96bad874
      James Bottomley authored
      
      Now it looks like we'll have multiple users of the iscsi transport
      class, the iscsi initiator shouldn't really be a dependency of it.  This
      patch moves iscsi to being an initiator in its own right which selects
      the transport attributes.
      
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      96bad874
    • Christoph Hellwig's avatar
      [SCSI] SAS transport class · c7ebbbce
      Christoph Hellwig authored
      
      The SAS transport class contains common code to deal with SAS HBAs, an
      aproximated representation of SAS topologies in the driver model,
      and various sysfs attributes to expose these topologies and managment
      interfaces to userspace.
      
      In addition to the basic SCSI core objects this transport class introduces
      two additional intermediate objects:  The SAS PHY as represented by struct
      sas_phy defines an "outgoing" PHY on a SAS HBA or Expander, and the SAS
      remote PHY represented by struct sas_rphy defines an "incoming" PHY on a
      SAS Expander or end device.  Note that this is purely a software concept, the
      underlying hardware for a PHY and a remote PHY is the exactly the same.
      
      There is no concept of a SAS port in this code, users can see what PHYs
      form a wide port based on the port_identifier attribute, which is the same
      for all PHYs in a port.
      
      This submission doesn't handle hot-plug addition or removal of SAS devices
      and thus doesn't do scanning in a workqueue yet, that will be added in
      phase2 after this submission.  In a third phase I will add additional
      managment infrastructure.
      
      I think this submission is ready for 2.6.14, but additional comments are
      of course very welcome.
      
      I'd like to thanks James Smart a lot for his very useful input on the
      design.
      
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      c7ebbbce
  21. Sep 07, 2005
  22. Sep 05, 2005
  23. Aug 31, 2005
    • James Bottomley's avatar
      [SCSI] embryonic RAID class · 61a7afa2
      James Bottomley authored
      
      The idea behind a RAID class is to provide a uniform interface to all
      RAID subsystems (both hardware and software) in the kernel.
      
      To do that, I've made this class a transport class that's entirely
      subsystem independent (although the matching routines have to match per
      subsystem, as you'll see looking at the code).  I put it in the scsi
      subdirectory purely because I needed somewhere to play with it, but it's
      not a scsi specific module.
      
      I used a fusion raid card as the test bed for this; with that kind of
      card, this is the type of class output you get:
      
      jejb@titanic> ls -l /sys/class/raid_devices/20\:0\:0\:0/
      total 0
      lrwxrwxrwx  1 root root     0 Aug 16 17:21 component-0 -> ../../../devices/pci0000:80/0000:80:04.0/host20/target20:1:0/20:1:0:0/
      lrwxrwxrwx  1 root root     0 Aug 16 17:21 component-1 -> ../../../devices/pci0000:80/0000:80:04.0/host20/target20:1:1/20:1:1:0/
      lrwxrwxrwx  1 root root     0 Aug 16 17:21 device -> ../../../devices/pci0000:80/0000:80:04.0/host20/target20:0:0/20:0:0:0/
      -r--r--r--  1 root root 16384 Aug 16 17:21 level
      -r--r--r--  1 root root 16384 Aug 16 17:21 resync
      -r--r--r--  1 root root 16384 Aug 16 17:21 state
      
      So it's really simple: for a SCSI device representing a hardware raid,
      it shows the raid level, the array state, the resync % complete (if the
      state is resyncing) and the underlying components of the RAID (these are
      exposed in fusion on the virtual channel 1).
      
      As you can see, this type of information can be exported by almost
      anything, including software raid.
      
      The more difficult trick, of course, is going to be getting it to
      perform configuration type actions with writable attributes.
      
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      61a7afa2
  24. Aug 24, 2005
  25. Aug 06, 2005
  26. Jul 31, 2005
    • Adrian Bunk's avatar
      [PATCH] SCSI_SATA has to be a tristate · faa72533
      Adrian Bunk authored
      
      SCSI=m must disallow static drivers.
      
      The problem is that all the SATA drivers depend on SCSI_SATA.
      
      With SCSI=m and SCSI_SATA=y this allows the static enabling of the SATA
      drivers with unwanted effects, e.g.:
      - SCSI=m, SCSI_SATA=y, SCSI_ATA_ADMA=y
        -> SCSI_ATA_ADMA is built statically but scsi/built-in.o is not linked
           into the kernel
      - SCSI=m, SCSI_SATA=y, SCSI_ATA_ADMA=y, SCSI_SATA_AHCI=m
        -> SCSI_ATA_ADMA and libata are built statically but
           scsi/built-in.o is not linked into the kernel,
           SCSI_SATA_AHCI is built modular (unresolved symbols due to missing
                                            libata)
      
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
      faa72533
  27. Jul 28, 2005
  28. Jun 13, 2005
  29. May 20, 2005
  30. May 04, 2005
  31. Apr 18, 2005
  32. Apr 17, 2005
  33. Apr 16, 2005
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      v2.6.12-rc2
      1da177e4
Loading