1. 10 5月, 2016 2 次提交
  2. 16 4月, 2016 1 次提交
  3. 10 11月, 2015 2 次提交
    • C
      scsi: use host wide tags by default · 64d513ac
      Christoph Hellwig 提交于
      This patch changes the !blk-mq path to the same defaults as the blk-mq
      I/O path by always enabling block tagging, and always using host wide
      tags.  We've had blk-mq available for a few releases so bugs with
      this mode should have been ironed out, and this ensures we get better
      coverage of over tagging setup over different configs.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Acked-by: NJens Axboe <axboe@kernel.dk>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
      64d513ac
    • B
      pm80xx: remove the SCSI host before detaching from SAS transport · 2a188cb4
      Benjamin Rood 提交于
      Previously, when this module was unloaded via 'rmmod' with at least one
      drive attached, the SCSI error handler thread would become stuck in an
      infinite recovery loop and lockup the system, necessitating a reboot.
      
      Once the SAS layer is detached, the driver will fail any subsequent
      commands since the target devices are removed.  However, removing the
      SCSI host generates a SYNCHRONIZE CACHE (10) command, which was failed
      and left the error handler no method of recovery.
      
      This patch simply removes the SCSI host first so that no more commands
      can come down, prior to cleaning up the SAS layer.  Note that the stack
      is built up with the SCSI host first, and then the SAS layer.  Perhaps
      it should be reversed for symmetry, so that commands cannot be sent to
      the pm80xx driver prior to attaching the SAS layer?
      
      What was really strange about this bug was that it was introduced at
      commit cff549e4 ("[SCSI]: proper state checking and module refcount
      handling in scsi_device_get").  This commit appears to tinker with how
      the reference counting is performed for SCSI device objects.  My theory
      is that prior to this commit, the refcount for a device object was
      blindly incremented at some point during the teardown process which
      coincidentially made the device stick around during the procedure, which
      also coincidentially made any commands sent to the driver not fail
      (since the device was technically still "there").  After this commit was
      applied, my theory is the refcount for the device object is not being
      incremented at a specific point anymore, which makes the device go away,
      and thus made the pm80xx driver fail any subsequent commands.
      
      You may also want to see the following for more details:
      
      [1] http://www.spinics.net/lists/linux-scsi/msg37208.html
      [2] http://marc.info/?l=linux-scsi&m=144416476406993&w=2Signed-off-by: NBenjamin Rood <brood@attotech.com>
      Acked-by: NJack Wang <jinpu.wang@profitbricks.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      2a188cb4
  4. 03 11月, 2015 8 次提交
  5. 07 9月, 2015 1 次提交
  6. 27 8月, 2015 8 次提交
  7. 13 8月, 2015 1 次提交
  8. 01 6月, 2015 1 次提交
  9. 04 12月, 2014 1 次提交
  10. 27 11月, 2014 1 次提交
    • C
      libsas: remove task_collector mode · 79855d17
      Christoph Hellwig 提交于
      The task_collector mode (or "latency_injector", (C) Dan Willians) is an
      optional I/O path in libsas that queues up scsi commands instead of
      directly sending it to the hardware.  It generall increases latencies
      to in the optiomal case slightly reduce mmio traffic to the hardware.
      
      Only the obsolete aic94xx driver and the mvsas driver allowed to use
      it without recompiling the kernel, and most drivers didn't support it
      at all.
      
      Remove the giant blob of code to allow better optimizations for scsi-mq
      in the future.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Acked-by: NDan Williams <dan.j.williams@intel.com>
      79855d17
  11. 24 11月, 2014 1 次提交
  12. 12 11月, 2014 1 次提交
  13. 06 11月, 2014 1 次提交
  14. 17 9月, 2014 1 次提交
  15. 09 8月, 2014 1 次提交
  16. 01 8月, 2014 2 次提交
  17. 30 7月, 2014 1 次提交
  18. 29 7月, 2014 1 次提交
  19. 26 7月, 2014 5 次提交