1. 22 9月, 2011 1 次提交
  2. 31 3月, 2011 1 次提交
  3. 24 3月, 2011 1 次提交
    • M
      [SCSI] aacraid: Add new code for PMC-Sierra's SRC based controller family · e8b12f0f
      Mahesh Rajashekhara 提交于
      Added new hardware device 0x28b interface for PMC-Sierra's SRC based
      controller family.
      
      - new src.c file for 0x28b specific functions
      - new XPORT header required
      - sync. command interface: doorbell bits shifted (SRC_ODR_SHIFT, SRC_IDR_SHIFT)
      - async. Interface: different inbound queue handling, no outbound I2O
        queue available, using doorbell ("PmDoorBellResponseSent") and
        response buffer on the host ("host_rrq") for status
      - changed AIF (adapter initiated FIBs) interface: "DoorBellAifPending"
        bit to inform about pending AIF, "AifRequest" command to read AIF,
        "NoMoreAifDataAvailable" to mark the end of the AIFs
      Signed-off-by: NMahesh Rajashekhara <aacraid@pmc-sierra.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      e8b12f0f
  4. 02 11月, 2010 1 次提交
  5. 17 9月, 2010 1 次提交
  6. 17 5月, 2010 2 次提交
  7. 18 1月, 2010 1 次提交
    • P
      [SCSI] aacraid: fix File System going into read-only mode · cacb6dc3
      These particular problems were reported by Cisco and SAP and customers
      as well. Cisco reported on RHEL4 U6 and SAP reported on SLES9 SP4 and
      SLES10 SP2. We added these fixes on RHEL4 U6 and gave a private build
      to IBM and Cisco. Cisco and IBM tested it for more than 15 days and
      they reported that they did not see the issue so far. Before the fix,
      Cisco used to see the issue within 5 days. We generated a patch for
      SLES9 SP4 and SLES10 SP2 and submitted to Novell. Novell applied the
      patch and gave a test build to SAP. SAP tested and reported that the
      build is working properly.
      
      We also tested in our lab using the tools "dishogsync", which is IO
      stress tool and the tool was provided by Cisco.
      
      Issue1:  File System going into read-only mode
      
      Root cause: The driver tends to not free the memory (FIB) when the
      management request exits prematurely. The accumulation of such
      un-freed memory causes the driver to fail to allocate anymore memory
      (FIB) and hence return 0x70000 value to the upper layer, which puts
      the file system into read only mode.
      
      Fix details: The fix makes sure to free the memory (FIB) even if the
      request exits prematurely hence ensuring the driver wouldn't run out
      of memory (FIBs).
      
      
      Issue2: False Raid Alert occurs
      
      When the Physical Drives and Logical drives are reported as deleted or
      added, even though there is no change done on the system
      
      Root cause: Driver IOCTLs is signaled with EINTR while waiting on
      response from the lower layers. Returning "EINTR" will never initiate
      internal retry.
      
      Fix details: The issue was fixed by replacing "EINTR" with
      "ERESTARTSYS" for mid-layer retries.
      Signed-off-by: NPenchala Narasimha Reddy <ServeRAIDDriver@hcl.in>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      cacb6dc3
  8. 07 4月, 2009 2 次提交
  9. 30 12月, 2008 1 次提交
  10. 03 5月, 2008 1 次提交
  11. 02 5月, 2008 1 次提交
  12. 19 4月, 2008 1 次提交
  13. 16 4月, 2008 1 次提交
  14. 08 4月, 2008 1 次提交
  15. 12 2月, 2008 1 次提交
  16. 24 1月, 2008 6 次提交
    • S
      [SCSI] aacraid: add Voodoo Lite class of cards. · cb1042f2
      Salyzyn, Mark 提交于
      The cards being added are supported in a limited sense already through
      family matching, but we needed to add some functionality to the driver
      to expose selectively the physical drives. These Physical drives are
      specifically marked to not be part of any array and thus are declared
      JBODs (Just a Bunch Of Drives) for generic SCSI access.
      
      We report that this is the second patch in a set of two, but merely
      depends on the stand-alone functionality of the first patch which adds
      in that case the ability to report a driver feature flag via sysfs. We
      leverage that functionality by reporting that this driver now supports
      this new JBOD feature for the controller so that the array management
      applications may react accordingly and guide the user as they manage
      the controller.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      cb1042f2
    • S
      [SCSI] aacraid: remove pigs in space · 8ce3eca4
      Salyzyn, Mark 提交于
      I was amazed at how much embedded space was present in the aacraid
      driver source files. Just selected five files from the set to clean up
      for now and the attached patch swelled to 73K in size!
      
      - Removed trailing space or tabs
      - Removed spaces embedded within tabs
      - Replaced leading 8 spaces with tabs
      - Removed spaces before )
      - Removed ClusterCommand as it was unused (noticed it as one triggered by above)
      - Replaced scsi_status comparison with 0x02, to compare against SAM_STATUS_CHECK_CONDITION.
      - Replaced a long series of spaces with tabs
      - Replaced some simple if...defined() with ifdef/ifndef
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      8ce3eca4
    • S
      [SCSI] aacraid: respond to enclosure service events · 0995ad38
      Salyzyn, Mark 提交于
      Added support to respond to enclosure service events
      (controller AIFs) to add, online or offline physical targets
      reported to sg. Also added online and offlining of arrays.
      Removed an automatic variable definition in a sub block that
      hid an earlier definition, determined to be inert as the
      sub-block use did not interfere. Bumped the driver versioning
      to stamp the addition of this feature.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      0995ad38
    • S
      [SCSI] aacraid: OS panic after Adapter panic (hardening). · b6ef70f3
      Salyzyn, Mark 提交于
      In experiments in the lab we managed to trigger an Adapter firmware
      panic (BlinkLED) coincidentally while several pass-through ioctl
      command from the management software were outstanding on a bug only
      present on a class of RAID Adapters that require a hardware reset
      rather than a commanded reset. The net result was an attempt to time
      out the management software command as if it came from the SCSI layer
      resulting in an OS panic.
      
      Adapters that use commanded reset, management commands are returned
      failed by the Adapter correctly. The adapter firmware panic that
      resulted in this condition was also resolved, and there were no
      adapters in the field with this specific firmware bug so we do not
      expect any field reports. This is a rare or unlikely corner condition,
      and no reports have ever been forwarded from the field.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      b6ef70f3
    • S
      [SCSI] aacraid: fix big endian issues · a3940da5
      Salyzyn, Mark 提交于
      Big endian systems issues discovered in the aacraid driver. Somewhat
      reverses a patch from November 7th of last year that removed swap
      operations because they formerly were being assigned to an u8 array
      when they should have been assigned to an le32 array.
      
      This patch is largely inert for any little endian processor
      architecture. It resolves a bug in delivering the BlinkLED AIF event
      to registered applications when the adapter or associated hardware was
      reset due to ill health. A rare corner case occurrence, also largely
      unnoticed by any as it was a new (untested!) feature.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      a3940da5
    • S
      [SCSI] aacraid: add parameter to control FUA and SYNCHRONIZE_CACHE policy · 95e852e1
      Salyzyn, Mark 提交于
      aacraid.cache parameter, Disable Queue Flush commands:
              bit 0 - Disable FUA in WRITE SCSI commands
              bit 1 - Disable SYNCHRONIZE_CACHE SCSI command
              bit 2 - Disable only if Battery not protecting adapter supplied Cache
      
      e.g.: aacraid.cache=7 will disable the FUA and SYNCHRONIZE_CACHE
      commands if the adapter has reported that it's cache is battery backed
      up.
      
      This parameter permits experimentation with tradeoffs between
      performance and caching policy.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      95e852e1
  17. 12 1月, 2008 3 次提交
    • S
      [SCSI] aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di · 94cf6ba1
      Salyzyn, Mark 提交于
      As reported in http://bugzilla.kernel.org/show_bug.cgi?id=3D9133 it was
      discovered that the PERC line of controllers lacked a key 64 bit
      ScatterGather capable SCSI pass-through function. The adapters are still
      capable of 64 bit ScatterGather I/O commands, but these two can not be
      mixed. This problem was exacerbated by the introduction of the SCSI
      Generic access to the DASD physical devices.
      
      The fix for users before this patch is applied is aacraid.dacmode=3D0 on
      the kernel command line to disable 64 bit I/O.
      
      The enclosed patch introduces a new adapter quirk and tries to limp
      along by enabling pass-through in situations where memory is 32 bit
      addressable on 64 bit machines, or disable the pass-through functions
      altogether. I expect that the check for 32 bit addressable memory to be
      controversial in that it can be incorrect in non-Dell non-Intel systems
      that PERC would never be installed under, the alternative is to disable
      pass-through in all cases which could be reported as another regression.
      
      Pass-through is used for SCSI Generic access to the physical devices, or
      for the management applications to properly function.
      
      In systems where this patch has disabled pass-through because it is
      unsupportable in combination with I/O performance, the user can choose
      to enable pass-through by turning off dacmode (aacraid.dacmode=3D0) or
      limiting the discovered kernel memory (mem=3D4G) with an associated loss
      in runtime performance. If we chose instead to turn off 64 bit dacmode
      for the adapters with this quirk, then this would be reported as another
      regression.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      94cf6ba1
    • C
      [SCSI] aacraid: don't assign cpu_to_le32(int) to u8 · f3307f72
      Christoph Hellwig 提交于
      On Wed, Nov 07, 2007 at 01:51:44PM -0500, Salyzyn, Mark wrote:
      > Christoph Hellwig [mailto:hch@infradead.org] sez:
      > > Did anyone run the driver through sparse to see if we have
      > > more issues like this?
      >
      > There are some warnings from sparse, none like this one. I will deal
      > with the warnings ...
      
      Actually there are a lot of endianess warnings, fortunately most of them
      harmless.  The patch below fixes all of them up (including the ones in
      the patch I replied to), except for aac_init_adapter which is really odd
      and I don't know what to do.
      
      [jejb fixed up rejections and checkpatch issues]
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Acked-by: NMark Salyzyn <mark_salyzyn@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      f3307f72
    • S
      [SCSI] aacraid: forced reset override · f858317d
      Salyzyn, Mark 提交于
      Some of our vendors have requested that our adapters ignore the hardware
      reset attempts during recovery and have enforced this with changes in
      Adapter Firmware. Some of our customers have requested the option to be
      able to reset the adapter under adverse adapter failure, we even had a
      few defects reported here considering it a regression that the Adapter
      could not be reset. This patch addresses this dichotomy. The user can
      force the adapter to be reset if it supports the IOP_RESET_ALWAYS
      command, in cases where the adapter has been programmed to ignore the
      reset, by setting the aacraid.check_reset parameter to a value of -1.
      
      The driver will not reset an Adapter that does not support the reset
      command(s).
      
      This patch also fixes and cleans up some of the logic associated with
      resetting the adapter.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames <James.Bottomley@HansenPartnership.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      f858317d
  18. 08 11月, 2007 2 次提交
  19. 13 10月, 2007 1 次提交
  20. 19 7月, 2007 1 次提交
  21. 18 6月, 2007 1 次提交
  22. 06 5月, 2007 1 次提交
  23. 01 4月, 2007 1 次提交
  24. 20 3月, 2007 4 次提交
    • M
      [SCSI] aacraid: Improved error handling · 03d44337
      Mark Haverkamp 提交于
      Received from Mark Salyzyn,
      
      This set of fixes improve error handling stability of the driver. A popular
      manifestation of the problems is an NULL pointer reference in the interrupt
      handler when referencing portions of the scsi command context, or in the
      scsi_done handling when an offlined device is referenced.
      
      The aacraid driver currently does not get notification of orphaned command
      completions due to devices going offline. The driver also fails to handle the
      commands that are finished by the error handler, and thus can complete again
      later at the hands of the adapter causing situations of completion of an
      invalid scsi command context. Test Unit Ready calls abort assuming that the
      abort was successful, but are not, and thus when the interrupt from the adapter
      occurs, they reference invalid command contexts. We add in a TIMED_OUT flag to
      inform the aacraid FIB context that the interrupt service should merely release
      the driver resources and not complete the command up. We take advantage of this
      with the abort handler as well for select abortable commands. And we detect and
      react if a command that can not be aborted is currently still outstanding to
      the controller when reissued by the retry mechanism.
      Signed-off-by: NMark Haverkamp <markh@linux-foundation.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      03d44337
    • M
      [SCSI] aacraid: Fix ioctl handling when adapter resets · 33bb3b29
      Mark Haverkamp 提交于
      Received from Mark Salyzyn,
      
      Outstanding ioctl calls still have some problems with aborting cleanly
      in the face of a reset iop recovery action should the adapter ever enter
      into a Firmware Assert (BlinkLED) condition. The enclosed patch resolves
      some uncovered flawed handling.
      Signed-off-by: NMark Haverkamp <markh@linux-foundation.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      33bb3b29
    • M
      [SCSI] aacraid: Fix struct element name issue · a8166a52
      Mark Haverkamp 提交于
      Received from Mark Salyzyn,
      
      This patch is to resolve a namespace issue that will result from a patch
      expected in the future that adds a new interface; rationalized as
      correcting a long term issue where hw_fib, instead of hw_fib_va, refers
      to the virtual address space and hw_fib_pa refers to the physical
      address space. A small fragment of this patch also cleans up an unused
      variable that was close to the patch fragments.
      Signed-off-by: NMark Haverkamp <markh@linux-foundation.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      a8166a52
    • M
      [SCSI] aacraid: add restart adapter platform function · 8418852d
      Mark Haverkamp 提交于
      Received from Mark Salyzyn,
      
      This patch updates the adapter restart function to deal with some
      adapters that have specific IOP reset needs. Since the code for
      restarting the adapter was in two places, changed over to utilizing a
      platform function in one place.
      Signed-off-by: NMark Haverkamp <markh@linux-foundation.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      8418852d
  25. 27 1月, 2007 1 次提交
    • M
      [SCSI] aacraid: rework communication support code · 28713324
      Mark Haverkamp 提交于
      Received from Mark Salyzyn,
      
      Replace all if/else communication transports with a platform function call.
      This is in recognition of the need to migrate to up-and-coming transports.
      Currently the Linux driver does not support two available communication
      transports provided by our products, these will be added in future patches, and
      will expand the platform function set.
      
      Signed-off-by Mark Haverkamp <markh@linux-foundation.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      28713324
  26. 23 11月, 2006 2 次提交
    • M
      [SCSI] aacraid: Abort management FIBs · d18b448f
      Mark Haverkamp 提交于
      Received from Mark Salyzyn:
      
      Add code to abort outstanding management ioctl fibs when the blinkLED recovery
      is performed. This code is 'clunky' and does not have any real feedback in that
      the reset could progress before the user application has gotten it's
      notification of command completion. We put a schedule() call to delay just the
      right amount for most cases, because we tried a spin and still managed to find
      cases where we would spin forever waiting for the management application to
      acknowledge the impending doom surrounding the cause of the BlinkLED. Will
      cause an oops in the context of the management application if we proceed too
      quickly. I view this as the lesser of many evils since currently if there are
      outstanding management ioctls during a need to reset/recover the adapter, the
      management application just locks up and waits forever. The best practices fix
      for this problem not going to be simple or easy (at least the fixes I imagine
      today); and we found a balance between the needs of the driver to proceed, and
      the applications that locked or confused that would hold back the driver. I
      just do not like the idea of a kernel oops in an application to deal with low
      priority, sluggish or misbehaving applications.
      Signed-off-by: NMark Haverkamp <markh@osdl.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      d18b448f
    • M
      [SCSI] aacraid: Detect Blinkled at startup · 33524b70
      Mark Haverkamp 提交于
      Received from Mark Salyzyn:
      
      Blinkled at startup is useful for catching Adapters in a lot of pain, in a
      BlinkLED assert, quickly; rather than waiting several minutes for commands to
      timeout.
      Signed-off-by: NMark Haverkamp <markh@osdl.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      33524b70