1. 04 8月, 2007 1 次提交
  2. 27 7月, 2007 1 次提交
  3. 26 7月, 2007 1 次提交
  4. 24 7月, 2007 1 次提交
  5. 23 7月, 2007 1 次提交
  6. 21 7月, 2007 1 次提交
  7. 20 7月, 2007 1 次提交
  8. 19 7月, 2007 6 次提交
  9. 15 7月, 2007 1 次提交
  10. 20 6月, 2007 1 次提交
  11. 03 6月, 2007 5 次提交
    • M
      [SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr · d8196ed2
      Mike Christie 提交于
      iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx),
      and partial offload (broadcom). To be able to allow each stack or driver
      or port (virtual or physical) to be able to log into the same target portal
      we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and
      the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session.
      This patch adds the netdev name, which is used by software iscsi when
      it binds a session to a netdevice using the SO_BINDTODEVICE sock opt.
      It cannot use HWADDRESS because if someone did vlans then the same netdevice
      will have the same mac and the initiator,target id will not be unique.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: David C Somayajulu <david.somayajulu@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      d8196ed2
    • M
      [SCSI] iscsi class, qla4xxx, iscsi_tcp: export local address · 22236961
      Mike Christie 提交于
      This patch exports the local address for the session. For
      qla4xxx this is the ip of the hba's port. For software
      this is the src addr of the socket.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: David C Somayajulu <david.somayajulu@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      22236961
    • M
      [SCSI] qla4xxx: add iscsi_transport capps for fw capacilities · 0ab823db
      Mike Christie 提交于
      Userspace will want to know what the driver/FW/HW capabilites
      when it comes to some operations like if the hardware can
      do discovery or if it can store iscsi info like what target
      was used for boot. This patch adds some new caps so userspace
      can tell if the driver supports hardware/fw based sendtargets
      discovery and if the hardware has some flash which may be
      holding or can contain some iscsi target info
      .
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: David C Somayajulu <david.somayajulu@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      0ab823db
    • M
      [SCSI] libiscsi: make can_queue configurable · 1548271e
      Mike Christie 提交于
      This patch allows us to set can_queue and cmds_per_lun from userspace
      when we create the session/host. From there we can set it on a per
      target basis. The patch fully converts iscsi_tcp, but only hooks
      up ib_iser for cmd_per_lun since it currently has a lots of preallocations
      based on can_queue.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Roland Dreier <rdreier@cisco.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      1548271e
    • M
      [SCSI] libiscsi: fix iscsi cmdsn allocation · 77a23c21
      Mike Christie 提交于
      The cmdsn allocation and pdu transmit code can race, and we can end
      up sending a pdu with cmdsn 10 before a pdu with 5. The target will
      then fail the connection/session. This patch fixes the problem by
      delaying the cmdsn allocation until we are about to send the pdu.
      
      This also removes the xmitmutex. We were using the connection xmitmutex
      during error handling to handle races with mtask and ctask cleanup and
      completion. For ctasks we now have nice refcounting and for the mtask,
      if we hit the case where the mtask timesout and it is floating
      around somewhere in the driver, we end up dropping the session.
      And to handle session level cleanup, we use the xmit suspend bit
      along with scsi_flush_queue and the session lock to make sure
      that the xmit thread is not possibly transmitting a task while
      we are trying to kill it.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Roland Dreier <rdreier@cisco.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      77a23c21
  12. 02 6月, 2007 8 次提交
  13. 01 6月, 2007 1 次提交
    • C
      [SCSI] introduce shost_priv helper · bcd92c9f
      Christoph Hellwig 提交于
      Currently accessing the scsi host private data is rather messy because
      it comes as an unsigned long that always needs a cast first.  This patch
      introduces a helper that does the cast called shost_priv.  It's similar
      in spirit to netdev_priv for network drivers.
      
      This is the first patch introducing the macro, and the second patch
      in the series will convert esp and it's subdrivers as an example.
      Further conversion will wait until the helper is in the tree to make
      patch juggling easier.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      bcd92c9f
  14. 27 5月, 2007 2 次提交
  15. 22 5月, 2007 1 次提交
  16. 16 5月, 2007 1 次提交
    • J
      [SCSI] FC Transport support for vports based on NPIV · a53eb5e0
      James Smart 提交于
      This patch provides support for FC virtual ports based on NPIV.
      For information on the interfaces and design, please read the
      Documentation/scsi/scsi_fc_transport.txt file enclosed within
      the patch.
      
      The RFC was originally posted here:
      http://marc.info/?l=linux-scsi&m=117226959918393&w=2
      
      Changes from the initial RFC:
      - Bug fix: needed a transport_class_unregister() for the vport class
      - Create a symlink to the vport in the shost device if it is not the
          parent of the vport.
      - Made symbolic name writable so it can be set after creation
      - Made the temporary fc_vport_identifiers struct private to the
      transport.
      - Deleted the vport_id field from the vport. I couldn't find any good
        use for it (and symname is a good replacement).
      - Made the vport_state and vport_last_state "private" attributes.
        Added the fc_vport_set_state() helper function to manage state
        transitions
      - Updated vport_create() to allow a vport to be created in a disabled
        state.
      - Added INITIALIZING and FAILED vport states
      - Added VPCERR_xxx defines for errors to be returned from vport_create()
      - Created a Documentation/scsi/scsi_fc_transport.txt file that describes
        the interfaces and expected LLDD behaviors.
      Signed-off-by: NJames Smart <James.Smart@emulex.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      a53eb5e0
  17. 06 5月, 2007 1 次提交
  18. 18 4月, 2007 1 次提交
    • M
      [SCSI] modalias for scsi devices · d7b8bcb0
      Michael Tokarev 提交于
      The following patch adds support for sysfs/uevent modalias
      attribute for scsi devices (like disks, tapes, cdroms etc),
      based on whatever current sd.c, sr.c, st.c and osst.c drivers
      supports.
      
      The modalias format is like this:
      
       scsi:type-0x04
      
      (for TYPE_WORM, handled by sr.c now).
      
      Several comments.
      
      o This hexadecimal type value is because all TYPE_XXX constants
        in include/scsi/scsi.h are given in hex, but __stringify() will
        not convert them to decimal (so it will NOT be scsi:type-4).
        Since it does not really matter in which format it is, while
        both modalias in module and modalias attribute match each other,
        I descided to go for that 0x%02x format (and added a comment in
        include/scsi/scsi.h to keep them that way), instead of changing
        them all to decimal.
      
      o There was no .uevent routine for SCSI bus.  It might be a good
        idea to add some more ueven environment variables in there.
      
      o osst.c driver handles tapes too, like st.c, but only SOME tapes.
        With this setup, hotplug scripts (or whatever is used by the
        user) will try to load both st and osst modules for all SCSI
        tapes found, because both modules have scsi:type-0x01 alias).
        It is not harmful, but one extra module is no good either.
        It is possible to solve this, by exporting more info in
        modalias attribute, including vendor and device identification
        strings, so that modalias becomes something like
          scsi:type-0x12:vendor-Adaptec LTD:device-OnStream Tape Drive
        and having that, match for all 3 attributes, not only device
        type.  But oh well, vendor and device strings may be large,
        and they do contain spaces and whatnot.
        So I left them for now, awaiting for comments first.
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      d7b8bcb0
  19. 21 3月, 2007 1 次提交
    • T
      [SCSI] sd: implement START/STOP management · c3c94c5a
      Tejun Heo 提交于
      Implement SBC START/STOP management.  sdev->mange_start_stop is added.
      When it's set to one, sd STOPs the device on suspend and shutdown and
      STARTs it on resume.  sdev->manage_start_stop defaults is in sdev
      instead of scsi_disk cdev to allow ->slave_config() override the
      default configuration but is exported under scsi_disk sysfs node as
      sdev->allow_restart is.
      
      When manage_start_stop is zero (the default value), this patch doesn't
      introduce any behavior change.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      
      Rejections fixed and
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      c3c94c5a
  20. 20 3月, 2007 2 次提交
  21. 12 3月, 2007 2 次提交
    • F
      [SCSI] tgt: fix sesnse buffer problems · bc7e380a
      FUJITA Tomonori 提交于
      This patch simplify the way to notify LLDs of the command completion
      and addresses the following sense buffer problems:
      
      - can't handle both data and sense.
      - forces user-space to use aligned sense buffer
      
      tgt copies sense_data from userspace to cmnd->sense_buffer (if
      necessary), maps user-space pages (if necessary) and then calls
      host->transfer_response (host->transfer_data is removed).
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      bc7e380a
    • M
      [SCSI] tgt: rm bio hacks in scsi tgt · 181011e0
      Mike Christie 提交于
      scsi tgt breaks up a command into multple scatterlists
      if we cannot fit all the data in one. This was because
      the block rq helpers did not support large requests and
      because we can get a command of any old size so it is
      hard to preallocate pages for scatterlist large enough
      (we cannot really preallocate pages with the bio map
      user path). In 2.6.20, we added large request support to
      the block layer helper, blk_rq_map_user. And at LSF,
      we talked about increasing SCSI_MAX_PHYS_SEGMENTS for
      scsi tgt if we want to support really really :) large
      (greater than 256 * PAGE_SIZE in the worst mapping case)
      requests.
      
      The only target currently implemented does not even support
      the multiple scatterlists stuff and only supports smaller
      requests, so this patch just coverts scsi tgt to use
      blk_rq_map_user.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      181011e0