1. 03 1月, 2009 1 次提交
  2. 27 7月, 2008 1 次提交
  3. 29 4月, 2008 1 次提交
  4. 23 4月, 2008 2 次提交
    • F
      [SCSI] scsi_transport_sas: fix the lifetime of sas bsg objects · 93c20a59
      FUJITA Tomonori 提交于
      scsi_transport_sas calls blk_cleanup_queue too early for bsg
      queues. If a user holds a sas_host, end_device, or expander device
      open, remove the device, then send a request to it, we get a kernel
      crash. We need to call blk_cleanup_queue in the release callback as we
      do with scsi devices.
      
      This patch moves blk_cleanup_queue to sas_expander_release and
      sas_end_device_release from sas_bsg_remove. sas_host can't use the
      release callback in struct device so use bsg's release callback.
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      93c20a59
    • F
      [SCSI] bsg: add release callback support · 97f46ae4
      FUJITA Tomonori 提交于
      This patch adds release callback support, which is called when a bsg
      device goes away. bsg_register_queue() takes a pointer to a callback
      function. This feature is useful for stuff like sas_host that can't
      use the release callback in struct device.
      
      If a caller doesn't need bsg's release callback, it can call
      bsg_register_queue() with NULL pointer (e.g. scsi devices can use
      release callback in struct device so they don't need bsg's callback).
      
      With this patch, bsg uses kref for refcounts on bsg devices instead of
      get/put_device in fops->open/release. bsg calls put_device and the
      caller's release callback (if it was registered) in kref_put's
      release.
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      97f46ae4
  5. 20 4月, 2008 1 次提交
  6. 03 2月, 2008 1 次提交
  7. 12 1月, 2008 2 次提交
  8. 21 7月, 2007 2 次提交
  9. 19 7月, 2007 1 次提交
  10. 18 2月, 2007 1 次提交
  11. 28 1月, 2007 2 次提交
    • D
      [SCSI] libsas: Check return values of sysfs_create_link · 21434966
      Darrick J. Wong 提交于
      Get rid of: "warning: ignoring return value of sysfs_create_link..."
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      21434966
    • D
      [SCSI] libsas: Clean up discovery failure handler code · 6f63caae
      Darrick J. Wong 提交于
      sas_rphy_delete does two things: it removes the sas_rphy from the transport
      layer and frees the sas_rphy.  This can be broken down into two functions,
      sas_rphy_remove and sas_rphy_free; sas_rphy_remove is of interest to
      sas_discover_root_expander because it calls functions that require
      sas_rphy_add as a prerequisite and can fail (namely sas_discover_expander).
      In that case, sas_discover_root_expander needs to be able to undo the effects
      of sas_rphy_add yet leave the job of freeing the sas_rphy to the caller of
      sas_discover_root_expander.
      
      This patch also removes some unnecessary code from sas_discover_end_dev
      to eliminate an unnecessary cycle of sas_notify_lldd_gone/found for SAS
      devices, thus eliminating a sas_rphy_remove call (and fixing a race condition
      where a SCSI target scan can come in between the gone and found call).
      It also moves the sas_rphy_free calls into sas_discover_domain and
      sas_ex_discover_end_dev to complement the sas_rphy_allocation via
      sas_get_port_device.
      
      This patch does not change the semantics of sas_rphy_delete.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      6f63caae
  12. 27 1月, 2007 1 次提交
  13. 14 1月, 2007 3 次提交
  14. 04 12月, 2006 1 次提交
  15. 08 9月, 2006 1 次提交
  16. 28 8月, 2006 1 次提交
    • J
      [SCSI] scsi_transport_sas: remove local_attached flag · f4ad7b58
      James Bottomley 提交于
      This flag denotes local attachment of the phy.  There are two problems
      with it:
      
      1) It's actually redundant ... you can get the same information simply
      by seeing whether a host is the phys parent
      2) we condition a lot of phy parameters on it on the false assumption
      that we can only control local phys.  I'm wiring up phy resets in the
      aic94xx now, and it will be able to reset non-local phys as well.
      
      I fixed 2) by moving the local check into the reset and stats function
      of the mptsas, since that seems to be the only HBA that can't
      (currently) control non-local phys.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      f4ad7b58
  17. 12 7月, 2006 2 次提交
  18. 09 7月, 2006 1 次提交
    • J
      [SCSI] scsi_transport_sas: add unindexed ports · c9fefeb2
      James Bottomley 提交于
      Some SAS HBAs don't want to go to the trouble of tracking port numbers,
      so they'd simply like to say "add this port and give it a number".
      This is especially beneficial from the hotplug point of view, since
      tracking ports and the available number space can be a real pain.
      
      The current implementation uses an incrementing number per expander to
      add the port on.  However, since there can never be more ports than
      there are phys, a later implementation will try to be more intelligent
      about this.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      c9fefeb2
  19. 29 6月, 2006 1 次提交
  20. 12 6月, 2006 1 次提交
  21. 10 6月, 2006 1 次提交
  22. 20 5月, 2006 2 次提交
  23. 15 4月, 2006 1 次提交
  24. 13 4月, 2006 2 次提交
  25. 20 3月, 2006 1 次提交
  26. 15 3月, 2006 1 次提交
    • J
      [SCSI] add preliminary expander support to the sas transport class · 79cb1819
      James Bottomley 提交于
      This patch makes expanders appear as labelled objects with properties in
      the SAS tree.
      
      I've also modified the phy code to make expander phys appear labelled by
      host number, expander number and phy index.
      
      So, for my current config, you see something like this in sysfs:
      
      /sys/class/scsi_host/host1/device/phy-1:4/expander-1:0/phy-1-0:12/rphy-1:0-12/target1:0:1
      
      And the expander properties are:
      
      jejb@sparkweed> cd /sys/class/sas_expander/expander-1\:0/
      jejb@sparkweed> for f in *; do echo -n $f ": "; cat $f; done
      component_id : 29024
      component_revision_id : 4
      component_vendor_id : VITESSE
      device : cat: device: Is a directory
      level : 0
      product_id : VSC7160 Eval Brd
      product_rev : 4
      uevent : cat: uevent: Permission denied
      vendor_id : VITESSE
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      79cb1819
  27. 10 3月, 2006 1 次提交
  28. 06 3月, 2006 1 次提交
  29. 03 3月, 2006 2 次提交
  30. 28 2月, 2006 1 次提交