1. 18 4月, 2007 1 次提交
    • B
      [SCSI] scsi_error.c: Add EH Start Unit retry · ed773e66
      Brian King 提交于
      Currently, the scsi error handler will issue a START_UNIT
      command if the drive indicates it needs its motor started
      and the allow_restart flag is set in the scsi_device. If,
      after the scsi error handler invokes a host adapter reset
      due to error recovery, a device is in a unit attention
      state AND also needs a START_UNIT, that device will be placed
      offline. The disk array devices on an ipr RAID adapter
      will do exactly this when in a dual initiator configuration.
      This patch adds a single retry to the EH initiated
      START_UNIT.
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      
      Patch modified and
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      ed773e66
  2. 20 3月, 2007 1 次提交
  3. 03 2月, 2007 1 次提交
  4. 01 2月, 2007 1 次提交
  5. 28 1月, 2007 1 次提交
  6. 16 11月, 2006 1 次提交
  7. 11 10月, 2006 1 次提交
  8. 13 9月, 2006 1 次提交
  9. 26 8月, 2006 1 次提交
    • M
      [SCSI] fix scsi_send_eh_cmnd regression · 0db99e33
      Mike Christie 提交于
      The callers of scsi_send_eh_cmnd are setting the cmnd buffer,
      and then scsi_send_eh_cmnd is copying that updated buffer to
      the old_cmnd variable. Then after the command runs, we end up
      copying that old_cmnd var which has the new cmnd to the scsi
      command buffer. When this command gets recent, all types of fun
      things happen like getting TUR or START_STOP commands with
      data and scatterlists.
      
      This patch made against scsi-rc-fixes, has the callers of
      scsi_send_eh_cmnd pass in the command so scsi_send_eh_cmnd
      can do the right thing. This should go into 2.6.18 since this
      fixes a regression added when we removed some of the scsi_cmnd
      fields and replaced them with local variables.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      0db99e33
  10. 10 7月, 2006 1 次提交
    • C
      [SCSI] hide EH backup data outside the scsi_cmnd · 631c228c
      Christoph Hellwig 提交于
      Currently struct scsi_cmnd has various fields that are used to backup
      original data after the corresponding fields have been overridden for
      EH commands.  This means drivers can easily get at it and misuse it.
      Due to the old_ naming this doesn't happen for most of them, but two
      that have different names have been used wrong a lot (see previous
      patch).  Another downside is that they unessecarily bloat the scsi_cmnd
      size.
      
      This patch moves them onstack in scsi_send_eh_cmnd to fix those two
      issues aswell as allowing future EH fixes like moving the EH command
      submissions to use SG lists like everything else.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      631c228c
  11. 27 6月, 2006 1 次提交
  12. 11 6月, 2006 2 次提交
  13. 20 5月, 2006 1 次提交
  14. 15 5月, 2006 1 次提交
    • T
      [PATCH] SCSI: implement shost->host_eh_scheduled · ee7863bc
      Tejun Heo 提交于
      libata needs to invoke EH without scmd.  This patch adds
      shost->host_eh_scheduled to implement such behavior.
      
      Currently the only user of this feature is libata and no general
      interface is defined.  This patch simply adds handling for
      host_eh_scheduled where needed and exports scsi_eh_wakeup() to
      modules.  The rest is upto libata.  This is the result of the
      following discussion.
      
      http://thread.gmane.org/gmane.linux.scsi/23853/focus=9760
      
      In short, SCSI host is not supposed to know about exceptions unrelated
      to specific device or command.  Such exceptions should be handled by
      transport layer proper.  However, the distinction is not essential to
      ATA and libata is planning to depart from SCSI, so, for the time
      being, libata will be using SCSI EH to handle such exceptions.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      ee7863bc
  15. 11 4月, 2006 1 次提交
  16. 13 3月, 2006 1 次提交
  17. 28 2月, 2006 1 次提交
  18. 27 1月, 2006 2 次提交
  19. 15 12月, 2005 1 次提交
    • M
      [SCSI] Convert SCSI mid-layer to scsi_execute_async · 6e68af66
      Mike Christie 提交于
      Add scsi helpers to create really-large-requests and convert
      scsi-ml to scsi_execute_async().
      
      Per Jens's previous comments, I placed this function in scsi_lib.c.
      I made it follow all the queue's limits - I think I did at least :), so
      I removed the warning on the function header.
      
      I think the scsi_execute_* functions should eventually take a request_queue
      and be placed some place where the dm-multipath hw_handler can use them
      if that failover code is going to stay in the kernel. That conversion
      patch will be sent in another mail though.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      6e68af66
  20. 08 12月, 2005 1 次提交
    • M
      [SCSI] fix OOPS due to clearing eh_action prior to aborting eh command · 85631672
      Michael Reed 提交于
      The eh_action semaphore in scsi_eh_send_command is cleared after a
      command timeout.  The command is subsequently aborted and the abort
      will try to call scsi_done() on it.  Unfortunately, the scsi_eh_done()
      routine unconditinally completes the semaphore (which is now null).
      Fix this race by makiong the scsi_eh_done() routine check that the
      semaphore is non null before completing it (mirroring the ordinary
      command done/timeout logic).
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      85631672
  21. 07 11月, 2005 3 次提交
  22. 29 10月, 2005 3 次提交
  23. 20 10月, 2005 1 次提交
  24. 19 10月, 2005 1 次提交
  25. 19 9月, 2005 2 次提交
  26. 07 9月, 2005 3 次提交
  27. 29 8月, 2005 1 次提交
    • J
      [SCSI] convert SPI transport class to scsi_execute · 33aa687d
      James Bottomley 提交于
      This one's slightly more difficult.  The transport class uses
      REQ_FAILFAST, so another interface (scsi_execute) had to be invented to
      take the extra flag.  Also, the sense functions are shifted around to
      allow spi_execute to place data directly into a struct scsi_sense_hdr.
      With this change, there's probably a lot of unnecessary sense buffer
      allocation going on which we can fix later.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      33aa687d
  28. 31 7月, 2005 1 次提交
  29. 27 6月, 2005 3 次提交