1. 08 8月, 2011 1 次提交
  2. 09 7月, 2011 1 次提交
  3. 06 5月, 2011 3 次提交
  4. 24 3月, 2011 1 次提交
    • B
      cciss: fix lost command issue · 1ddd5049
      Bud Brown 提交于
      Under certain workloads a command may seem to get lost. IOW, the Smart Array
      thinks all commands have been completed but we still have commands in our
      completion queue. This may lead to system instability, filesystems going
      read-only, or even panics depending on the affected filesystem. We add an
      extra read to force the write to complete.
      
      Testing shows this extra read avoids the problem.
      Signed-off-by: NMike Miller <mike.miller@hp.com>
      Cc: stable@kernel.org
      Signed-off-by: NJens Axboe <jaxboe@fusionio.com>
      1ddd5049
  5. 11 1月, 2011 1 次提交
  6. 24 10月, 2010 1 次提交
  7. 08 8月, 2010 5 次提交
  8. 01 3月, 2010 2 次提交
  9. 22 2月, 2010 1 次提交
  10. 23 11月, 2009 1 次提交
    • A
      cciss: change Cmd_sg_list.sg_chain_dma type to dma_addr_t · 32a87c01
      Alex Chiang 提交于
      A recent commit broke the ia64 build:
      
      	Author: Don Brace <brace@beardog.cce.hp.com>
      	Date:   Thu Nov 12 12:50:01 2009 -0600
      
      	cciss: Add enhanced scatter-gather support.
      
      because of this hunk:
      
      	--- a/drivers/block/cciss.h
      	+++ b/drivers/block/cciss.h
      	+struct Cmd_sg_list {
      	+       SGDescriptor_struct     *sgchain;
      	+       dma64_addr_t            sg_chain_dma;
      	+       int                     chain_block_size;
      	+};
      
      The issue is that dma64_addr_t isn't #define'd on ia64.
      
      The way that we're using Cmd_sg_list.sg_chain_dma is to hold an
      address returned from pci_map_single().
      
      	+               temp64.val = pci_map_single(h->pdev,
      	+                                 h->cmd_sg_list[c->cmdindex]->sgchain,
      	+                                 len, dir);
      	+
      	+               h->cmd_sg_list[c->cmdindex]->sg_chain_dma = temp64.val;
      
      pci_map_single() returns a dma_addr_t too.
      
      This code will still work even on a 32-bit x86 build, where
      dma_addr_t is defined to be a u32 because it will simply be
      promoted to the __u64 that temp64.val is defined as.
      
      Thus, declaring Cmd_sg_list.sg_chain_dma as dma_addr_t is safe.
      
      Cc: Don Brace <brace@beardog.cce.hp.com>
      Cc: Stephen M. Cameron <scameron@beardog.cce.hp.com>
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      32a87c01
  11. 13 11月, 2009 1 次提交
  12. 02 10月, 2009 4 次提交
  13. 09 6月, 2009 2 次提交
  14. 02 6月, 2009 1 次提交
    • A
      cciss: add cciss driver sysfs entries · 7fe06326
      Andrew Patterson 提交于
      Add sysfs entries to the cciss driver needed for the dm/multipath tools.
      
      A file for vendor, model, rev, and unique_id is added for each logical
      drive under directory /sys/bus/pci/devices/<dev>/ccissX/cXdY.  Where X =
      the controller (or host) number and Y is the logical drive number.
      
      A link from /sys/bus/pci/devices/<dev>/ccissX/cXdY/block:cciss!cXdY to
      /sys/block/cciss!cXdY/device is also created.  A bus is created in
      /sys/bus/cciss.  A link is created from the pci ccissX entry to
      /sys/bus/cciss/devices/ccissX.  Please consider this for inclusion.
      Signed-off-by: NMike Miller <mike.miller@hp.com>
      Cc: Stephen M. Cameron <scameron@beardog.cca.cpqcorp.net>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      7fe06326
  15. 07 4月, 2009 1 次提交
    • M
      cciss: kernel scan thread for MSA2012 · 0a9279cc
      Mike Miller 提交于
      The MSA2012 cannot inform the driver of configuration changes since all
      management is out of band.  This is a departure from any storage we have
      supported in the past.  We need some way to detect changes on the topology
      so we implement this kernel thread.  In some instances there's nothing we
      can do from the driver (like LUN failure) so just print out a message.  In
      the case where logical volumes are added or deleted we call
      rebuild_lun_table to refresh the driver's view of the world.
      Signed-off-by: NMike Miller <mike.miller@hp.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      0a9279cc
  16. 29 12月, 2008 1 次提交
  17. 06 8月, 2008 1 次提交
  18. 08 12月, 2006 3 次提交
  19. 01 10月, 2006 1 次提交
  20. 26 6月, 2006 1 次提交
  21. 09 1月, 2006 2 次提交
    • C
      [PATCH] cciss: avoid defining useless MAJOR_NR macro · 564de74a
      Christoph Hellwig 提交于
      This sneaked in with one of the updates.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      564de74a
    • M
      [PATCH] cciss: adds MSI and MSI-X support · fb86a35b
      Mike Miller 提交于
      This creates a new function, cciss_interrupt_mode called from
      cciss_pci_init.  This function determines what type of interrupt vector to
      use, i.e., MSI, MSI-X, or IO-APIC.
      
      One noticeable difference is changing the interrupt field of the controller
      struct to an array of 4 unsigned ints.  The Smart Array HW is capable of
      generating 4 distinct interrupts depending on the transport method in use
      during operation.  These are:
      
      #define DOORBELL_INT 0
      Used to notify the contoller of configuration updates. We only use
      this feature when in polling mode.
      
      #define PERF_MODE_INT 0
      Used when the controller is in Performant Mode.
      
      #define SIMPLE_MODE_INT 2
      Used when the controller is in Simple Mode (current Linux implementation).
      
      #define MEMQ_INT_MODE 3
      Not used.
      
      When using IO-APIC interrupts these 4 lines are OR'ed together so when any
      one fires an interrupt an is generated.  In MSI or MSI-X mode this hardware
      OR'ing is ignored.  We must register for our interrupt depending on what
      mode the controller is running.  For Linux we use SIMPLE_MODE_INT
      exclusively at this time.  Please consider this for inclusion.
      Signed-off-by: NMike Miller <mike.miller@hp.com>
      Cc: Jens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fb86a35b
  22. 07 11月, 2005 1 次提交
  23. 13 9月, 2005 3 次提交
  24. 28 7月, 2005 1 次提交
    • M
      [PATCH] cciss per disk queue · ad2b9312
      Mike Miller 提交于
      This patch adds per disk queue functionality to cciss.  Sometime back I
      submitted a patch but it looks like only part of what I needed.  In the 2.6
      kernel if we have more than one logical volume the driver will Oops during
      rmmod.  It seems all of the queues actually point back to the same queue.
      So after deleting the first volume you hit a null pointer on the second
      one.
      
      This has been tested in our labs.  There is no difference in performance,
      it just fixes the Oops.
      Signed-off-by: NMike Miller <mike.miller@hp.com>
      Cc: Jens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ad2b9312