An error occurred fetching the project authors.
  1. 23 May, 2009 1 commit
    • Mike Christie's avatar
      [SCSI] iscsi: pass ep connect shost · 10eb0f01
      Mike Christie authored
      When we create the tcp/ip connection by calling ep_connect, we currently
      just go by the routing table info.
      
      I think there are two problems with this.
      
      1. Some drivers do not have access to a routing table. Some drivers like
      qla4xxx do not even know about other ports.
      
      2. If you have two initiator ports on the same subnet, the user may have
      set things up so that session1 was supposed to be run through port1. and
      session2 was supposed to be run through port2. It looks like we could
      end with both sessions going through one of the ports.
      
      Fixes for cxgb3i from Karen Xie.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      10eb0f01
  2. 29 Dec, 2008 2 commits
  3. 13 Oct, 2008 2 commits
  4. 12 Jul, 2008 4 commits
  5. 12 Jan, 2008 3 commits
  6. 02 Jun, 2007 4 commits
  7. 01 Jun, 2007 4 commits
  8. 29 Jun, 2006 2 commits
  9. 10 May, 2006 2 commits
  10. 14 Apr, 2006 4 commits
    • Mike Christie's avatar
      [SCSI] iscsi: add libiscsi · 7996a778
      Mike Christie authored
      There is a lot of code duplcited between iscsi_tcp
      and the upcoming iscsi_iser driver. This patch puts
      the duplicated code in a lib. There is more code
      to move around but this takes care of the
      basics. For iscsi_offload if they use the lib we will
      probably move some things around. For example in the
      queuecommand we will not assume that the LLD wants
      to do queue_work, but it is better to handle that
      later when we know for sure what iscsi_offload looks
      like (we could probably do this for iscsi_iser though to).
      
      Ideally I would like to get the iscsi_transports modules
      to a place where all they really have to do is put data
      on the wire, but how to do that will hopefully be more clear
      when we see other modules like iscsi_offload. Or maybe
      iscsi_offload will not use the lib and it will just be
      iscsi_iser and iscsi_tcp and maybe the iscsi_tcp_tgt if that
      is allowed in mainline.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      7996a778
    • Mike Christie's avatar
      [SCSI] iscsi: fix up iscsi eh · 30a6c652
      Mike Christie authored
      The current iscsi_tcp eh is not nicely setup for dm-multipath
      and performs some extra task management functions when they
      are not needed.
      
      The attached patch:
      
      - Fixes the TMF issues. If a session is rebuilt
      then we do not send aborts.
      
      - Fixes the problem where if the host reset fired, we would
      return SUCCESS even though we had not really done anything
      yet. This ends up causing problem with scsi_error.c's TUR.
      
      - If someone has turned on the userspace nop daemon code to try
      and detect network problems before the scsi command timeout
      we can now drop and clean up the session before the scsi command
      timesout and fires the eh speeding up the time it takes for a
      command to go from one patch to another. For network problems
      we fail the command with DID_BUS_BUSY so if failfast is set
      scsi_decide_disposition fails the command up to dm for it to
      try on another path.
      
      - And we had to add some basic iscsi session block code. Previously
      if we were trying to repair a session we would retrun a MLQUEUE code
      in the queuecommand. This worked but it was not the most efficient
      or pretty thing to do since it would take a while to relogin
      to the target. For iscsi_tcp/open-iscsi a lot of the iscsi error handler
      is in userspace the block code is pretty bare. We will be
      adding to that for qla4xxx.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      30a6c652
    • Mike Christie's avatar
      [SCSI] iscsi: add sysfs attrs for uspace sync up · fd7255f5
      Mike Christie authored
      For iscsi boot when going from initramfs to the real root we
      need to stop the userpsace iscsi daemon. To later restart it
      iscsid needs to be able to rebuild itself and part of that
      process is matching a session running the kernel with the
      iscsid representation. To do this the attached patch
      adds several required iscsi values. If the LLD does not provide
      them becuase, login is done in userspace, then the transport
      class and userspace set ths up for the LLD.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      fd7255f5
    • Mike Christie's avatar
      [SCSI] iscsi: rm kernel iscsi handles usage for session and connection · b5c7a12d
      Mike Christie authored
      from hare@suse.de and michaelc@cs.wisc.edu
      
      hw iscsi like qla4xxx does not allocate a host per session and
      for userspace it is difficult to restart iscsid using the
      "iscsi handles" for the session and connection, so this
      patch just has the class or userspace allocate the id for
      the session and connection.
      
      Note: this breaks userspace and requires users to upgrade to the newest
      open-iscsi tools. Sorry about his but open-iscsi is still too new to
      say we have a stable user-kernel api and we were not good nough
      designers to know that other hw iscsi drivers and iscsid itself would
      need such changes. Actually we sorta did but at the time we did not
      have the HW available to us so we could only guess.
      
      Luckily, the only tools hooking into the class are the open-iscsi ones
      or other tools like iscsitart hook into the open-iscsi engine from
      userspace or prgroams like anaconda call our tools so they are not affected.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      b5c7a12d
  11. 04 Feb, 2006 1 commit
  12. 14 Jan, 2006 1 commit
    • Mike Christie's avatar
      [SCSI] iscsi: seperate iscsi interface from setup functions · 7b8631b5
      Mike Christie authored
      This is the second version of the patch to address Christoph's comments.
      Instead of doing the lib, I just kept everything in scsi_trnapsort_iscsi.c
      like the FC and SPI class. This was becuase the driver model and sysfs
      class is tied to the session and connection setup so separating did not
      buy very much at this time.
      
      The reason for this patch was becuase HW iscsi LLDs like qla4xxx cannot
      use the iscsi class becuase the scsi_host was tied to the interface and
      class code. This patch just seperates the session from scsi host so
      that LLDs that allocate the host per some resource like pci device
      can still use the class.
      
      This is also fixes a couple refcount bugs that can be triggered
      when users have a sysfs file open, close the session, then
      read or write to the file.
      Signed-off-by: default avatarAlex Aizman <itn780@yahoo.com>
      Signed-off-by: default avatarDmitry Yusupov <dmitry_yus@yahoo.com>
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      7b8631b5
  13. 06 Aug, 2005 1 commit