03 Oct, 2017

1 commit


31 Jul, 2015

1 commit

  • The iSCSI session recovery_tmo setting is writeable in sysfs, but it's
    also set every time a connection is established when parameters are set
    from iscsid over netlink. That results in the timeout being reset to
    the default value after every recovery.

    The DM multipath tools want to use the sysfs interface to lower the
    default timeout when there are multiple paths to fail over. It has
    caused confusion that we have a writeable sysfs value that seem to keep
    resetting itself.

    This patch adds an in-kernel flag that gets set once a sysfs write
    occurs, and then ignores netlink parameter setting once it's been
    modified via the sysfs interface. My thinking here is that the sysfs
    interface is much simpler for external tools to influence the session
    timeout, but if we're going to allow it to be modified directly we
    should ensure that setting is maintained.

    Signed-off-by: Chris Leech
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Chris Leech
     

18 Mar, 2014

1 commit

  • iSCSI needs to be at least aware that a task involves protection
    information. In case it does, after the transaction completed libiscsi
    will ask the transport to check the protection status of the
    transaction.

    Unlike transport errors, DIF errors should not prevent successful
    completion of the transaction from the transport point of view, but
    should be escelated to scsi mid-layer when constructing the scsi
    result and sense data.

    check_protection routine will return the ascq corresponding to the DIF
    error that occured (or 0 if no error happened).

    return ascq:
    - 0x1: GUARD_CHECK_FAILED
    - 0x2: APPTAG_CHECK_FAILED
    - 0x3: REFTAG_CHECK_FAILED

    Signed-off-by: Sagi Grimberg
    Signed-off-by: Alex Tabachnik
    Signed-off-by: Roland Dreier

    Sagi Grimberg
     

20 Dec, 2013

1 commit


17 Dec, 2013

1 commit


25 Oct, 2013

1 commit


10 May, 2013

1 commit


12 Apr, 2013

1 commit

  • This patch allows iscsiadm to manage iSCSI target information stored on
    adapter flash on per host basis.

    The sysfs entries will look as cited below:
    /sys/bus/iscsi_flashnode/devices/flashnode_sess-:/
    /sys/bus/iscsi_flashnode/devices/flashnode_conn-::/

    Signed-off-by: Adheer Chandravanshi
    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Signed-off-by: James Bottomley

    Adheer Chandravanshi
     

01 Mar, 2012

1 commit


19 Feb, 2012

3 commits


11 Jan, 2012

1 commit

  • SCSI updates for post 3.2 merge window

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (67 commits)
    [SCSI] lpfc 8.3.28: Update driver version to 8.3.28
    [SCSI] lpfc 8.3.28: Add Loopback support for SLI4 adapters
    [SCSI] lpfc 8.3.28: Critical Miscellaneous fixes
    [SCSI] Lpfc 8.3.28: FC and SCSI Discovery Fixes
    [SCSI] lpfc 8.3.28: Add support for ABTS failure handling
    [SCSI] lpfc 8.3.28: SLI fixes and added SLI4 support
    [SCSI] lpfc 8.3.28: Miscellaneous fixes in sysfs and mgmt interfaces
    [SCSI] mpt2sas: Removed redundant calling of _scsih_probe_devices() from _scsih_probe
    [SCSI] mac_scsi: Remove obsolete IRQ_FLG_* users
    [SCSI] qla4xxx: Update driver version to 5.02.00-k10
    [SCSI] qla4xxx: check for FW alive before calling chip_reset
    [SCSI] qla4xxx: Fix qla4xxx_dump_buffer to dump buffer correctly
    [SCSI] qla4xxx: Fix the IDC locking mechanism
    [SCSI] qla4xxx: Wait for disable_acb before doing set_acb
    [SCSI] qla4xxx: Don't recover adapter if device state is FAILED
    [SCSI] qla4xxx: fix call trace on rmmod with ql4xdontresethba=1
    [SCSI] qla4xxx: Fix CPU lockups when ql4xdontresethba set
    [SCSI] qla4xxx: Perform context resets in case of context failures.
    [SCSI] iscsi class: export pid of process that created
    [SCSI] mpt2sas: Remove unused duplicate diag_buffer_enable param
    ...

    Linus Torvalds
     

04 Jan, 2012

1 commit


15 Dec, 2011

1 commit

  • There could be multiple userspace entities creating/destroying/
    recoverying sessions and also the kernel's iscsi drivers could
    be doing this too. If the userspace apps do try to manage the kernel
    ones it can get the driver/fw out of sync and cause the user to
    loose the root disk, oopses or ping ponging becasue userspace
    wants to do one thing but the kernel manager thought we
    are trying to do another.

    This patch fixes the problem by just exporting the pid of
    the entity that created the session. Userspace programs like
    iscsid, iscsiadm, iscsistart, qlogic's tools, etc, can then
    figure out which sessions they own and only manage them.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

20 Oct, 2011

2 commits


27 Aug, 2011

8 commits


25 Feb, 2011

3 commits

  • For drivers using the ep callbacks the addr and port
    are attached to the endpoint instead of the conn.
    This adds a callout to the iscsi_transport to get
    ep values. It also adds locking around the get
    param call to make sure that ep_disconnect does
    not free the LLD's ep interconnect structs from
    under us (the ep has a refcount so it will not
    go away but the LLD may have structs from other
    subsystems that are not allocated in the ep so
    we need to protect them from getting freed).

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • The active variable on the iscsi_cls_conn is not used
    so this patch removes it.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • When iscsid restarts it does not know the connection's
    endpoint, so it is getting leaked. This fixes the problem
    by having the iscsi class force a disconnect before a
    new connection is bound.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

28 Jul, 2010

1 commit


09 Jun, 2009

1 commit


24 May, 2009

1 commit

  • 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: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

14 Mar, 2009

2 commits


30 Dec, 2008

3 commits


13 Oct, 2008

2 commits

  • Some endpoint code was using unsigned int and some
    was using uint64_t. This converts it all to uint64_t.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • If the driver knows when hardware is removed like with cxgb3i,
    bnx2i, qla4xxx and iser then we will want to remove the sessions/devices
    that are bound to that device before removing the host.

    cxgb3i and in the future bnx2i will remove the host and that will
    remove all the sessions on the hba. iser can call iscsi_kill_session
    when it gets an event that indicates that a hca is removed.
    And when qla4xxx is hooked in to the lib (it is only hooked into
    the class right now) it can call iscsi remove host like the
    partial offload card drivers.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

22 Jul, 2008

1 commit


12 Jul, 2008

1 commit

  • Add sysfs representation for the endpoint, so userspace can match the
    host and session to the endpoint. This will allow us to set the host's
    parent correctly at host creation time.

    The next patches will convert tcp and iser, and fix iser's dma_mask
    bug.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie