1. 23 May, 2009 1 commit
    • Takahiro Yasui's avatar
      [SCSI] limit state transitions in scsi_internal_device_unblock · 5c10e63c
      Takahiro Yasui authored
      scsi timeout on two or more devices may cause extremely long execution
      time for user applications because SDEV_OFFLINE state is changed to
      SDEV_RUNNING state during scsi error recovery procedures triggered by
      a bus reset or a host reset of scsi LLD, and scsi timeout can happens
      on the same devices many times.
      
      This happens because scsi_internal_device_unblock() changes device's
      state to SDEV_RUNNING even if a device in other states than SDEV_BLOCK,
      while the following two transitions are required in this function.
      
        SDEV_BLOCK -> SDEV_RUNNING
        SDEV_CREATED_BLOCK -> SDEV_CREATED
      
      Otherwise, it returns -EINVAL.
      Signed-off-by: default avatarTakahiro Yasui <tyasui@redhat.com>
      [matthew@wil.cx: supplied rewritten base for patch]
      Signed-off-by: default avatarMatthew Wilcox <matthew@wil.cx>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      5c10e63c
  2. 20 May, 2009 28 commits
  3. 19 May, 2009 4 commits
  4. 18 May, 2009 7 commits