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

4 commits

  • Check for firmware alive and do premature completion of
    mbox commands in case of FW hung before doing chip_reset

    Signed-off-by: Shyam Sunder
    Reviewed-by: Mike Christie
    Signed-off-by: Nilesh Javali
    Signed-off-by: Vikas Chaudhary
    Signed-off-by: James Bottomley

    Shyam Sunder
     
  • In function qla4xxx_iface_set_param wait for disable_acb to
    complete so that set_acb will not fail.

    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • Multiple reset request don't get handled correctly as
    the driver tries to recover adapter which is in FAILED state.

    Signed-off-by: Sarang Radke
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Sarang Radke
     
  • abort all active commands from eh_host_reset in-case
    of ql4xdontresethba=1

    Fix following call trace:-
    Nov 21 14:50:47 172.17.140.111 qla4xxx 0000:13:00.4: qla4_8xxx_disable_msix: qla4xxx (rsp_q)
    Nov 21 14:50:47 172.17.140.111 qla4xxx 0000:13:00.4: PCI INT A disabled
    Nov 21 14:50:47 172.17.140.111 slab error in kmem_cache_destroy(): cache `qla4xxx_srbs': Can't free all objects
    Nov 21 14:50:47 172.17.140.111 Pid: 9154, comm: rmmod Tainted: G O 3.2.0-rc2+ #2
    Nov 21 14:50:47 172.17.140.111 Call Trace:
    Nov 21 14:50:47 172.17.140.111 [] ? kmem_cache_destroy+0x9a/0xb0
    Nov 21 14:50:47 172.17.140.111 [] ? sys_delete_module+0x14a/0x210
    Nov 21 14:50:47 172.17.140.111 [] ? do_munmap+0x202/0x280
    Nov 21 14:50:47 172.17.140.111 [] ? audit_syscall_entry+0x1ae/0x1d0
    Nov 21 14:50:47 172.17.140.111 [] ? sysenter_do_call+0x12/0x28
    Nov 21 14:51:50 172.17.140.111 SLAB: cache with size 64 has lost its name
    Nov 21 14:51:50 172.17.140.111 iscsi: registered transport (qla4xxx)
    Nov 21 14:51:50 172.17.140.111 qla4xxx 0000:13:00.4: PCI INT A -> GSI 28 (level, low) -> IRQ 28

    Signed-off-by: Sarang Radke
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Sarang Radke
     

14 Dec, 2011

2 commits

  • iscsi_conn_setup can fail so we must check for NULL being
    returned.

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

    Mike Christie
     
  • With open-iscsi support, target entries persisted in the FLASH were not
    login. Added support in the qla4xxx driver to do the login on probe
    time to the target entries saved in the FLASH by user.
    With this changes upgrade to the new kernel with open-iscsi support in
    qla4xxx will ensure users original target entries login on driver load

    Signed-off-by: Manish Rangankar
    Signed-off-by: Ravi Anand
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

20 Oct, 2011

3 commits

  • Udev uses the connection's persistent address/port in the
    /dev/disk/by-path name. qla4xxx is not exporting this value
    so its iscsi disk names have been lacking the iscsi info.
    In the old driver we did not have this information but
    we do now and can fix this by just setting the flags to tell
    libiscsi/scsi_transport_iscsi to export this info in sysfs.

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

    Mike Christie
     
  • Userspace was sending the priority/id part of the vlan tag
    and sysfs was displaying the id in the vlan file. This
    renames the vlan sysfs file to vlan_id to reflect that it
    was showing the id and to match the vlan_priority file.
    This also adds a ISCSI_NET_PARAM_VLAN_TAG iscsi nl command
    to relfect that we are sending down the vlan/priority
    part of the tag.

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

    Mike Christie
     
  • This has the driver use helpers for a common operation and fixes
    a issue where if multiple iscsi params are sent they could be
    sent at offsets that cause unaligned accesses. The nla helpers
    account for the padding needed to align properly for the driver.

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

    Mike Christie
     

17 Oct, 2011

9 commits

  • JIRA Key: UPSISCSI-75

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • When sendtargets response is greater then max receive data segment length,
    the passthrough IOCB failed with data overrun status. Solution is to
    allocate space for iSCSI header in the IOCB response buffer.

    JIRA Key: UPSISCSI-147

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • When iscsid restarted for an existing active session, set DDB will
    fail with status already logged in. In this case, we have to send
    logged in event to iscsid.

    JIRA Key: OPENISCSI-21

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • Devices are getting blocked during continuous link up and down.
    Solution is, during relogin unblock the session, using iscsi_conn_start,
    before sending connection logged in event.

    JIRA Key: UPSISCSI-138

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • During link down, iscsid tries to do re-login to failed session. In case of
    link down-up-down, LLD was sending connection login failed event to iscsid,
    which is destroying the session, instead we have to continue re-login by
    sending connection err event.

    JIRA Key: UPSISCSI-134

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • Unable to login to session if login-logout issued consecutively for
    multiple sessions. Solution is to clear idx in DDB map on the basis
    of no-active connection asynchronous event (AEN).

    JIRA Key: UPSISCSI-135

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • If a boot target has a BIDI CHAP enabled, then read the user/secret from
    CHAP table. Do not assume BIDI chap at peer CHAP index + 1

    JIRA Key: UPSISCSI-156

    Signed-off-by: Lalit Chandivade
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Lalit Chandivade
     
  • The driver failed to export primary boot target if secondary target did not
    exist in the FLASH. If boot targets are not valid then driver assumed 0 and
    1 as default boot targets. Since these target did not exist in flash, the
    driver failed exporting all the targets.

    JIRA Key: UPSISCSI-148

    Signed-off-by: Lalit Chandivade
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Lalit Chandivade
     
  • QLogic applications store the CHAP information in FLASH. During login,
    authentication information is provided using an index into the CHAP region.

    In order to support QLogic applications along with iscsiadm, updated the
    LLD to not add duplicate CHAP entries in the CHAP region and preserve the
    existing CHAP info in the CHAP region in FLASH.
    This allows QLogic applications to pre-write the CHAP entries in the
    CHAP region.

    With iscsiadm, when the CHAP authentication information is sent to the LLD, the
    LLD searches for the entry in CHAP region in FLASH, if exists then do not add.
    If CHAP entry does not exist then add the CHAP entry in the CHAP region.

    JIRA Key: UPSISCSI-146

    Signed-off-by: Lalit Chandivade
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Lalit Chandivade
     

27 Aug, 2011

16 commits

  • Export the name of iface session is attached to. This is needed
    so tools like iscsiadm/iscsistart can match the sessions to
    userspace ifaces when rebuilding iscsid's state during boot.

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

    Mike Christie
     
  • Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • Hook qla4xxx in fw boot sysfs interface so iscsi tools
    can use the info to create boot sessions.

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • 1. Remove device database entry (ddb) state.
    2. Remove device database (DDB) list building.
    With open-iscsi integration the logins to the target devices are
    handled by the user space. So the information of target is now
    maintained in the iscsi_session object. This is handled at
    libiscsi level so there is no need to maintain a list of DDBs in
    the qla4xxx LLD.
    3. qla4xxx: Remove add_device_dynamically.
    Since autologin in FW is disabled with open-iscsi integration,
    driver will never get an AEN for which driver has not requested
    a DDB index. So remove the add_device_dynamically function.
    4. Remove qla4xxx_tgt_dscvr
    Since firmware autologin is disabled this function will not work.
    Now user has the ability to do the target discovery and login to
    each target individually. Firwmare will not do the login on its own.
    5. Remove relogin related code
    All relogin is handled by userspace now. qla4xxx just need to
    notify userspace of a connection failure, this triggers the
    relogin.
    6. Remove add_session and alloc_session
    Now qla4xxx uses iscsi_session_setup that would do the necessary
    allocations for session and ddb_entry.

    Signed-off-by: Manish Rangankar
    Signed-off-by: Lalit Chandivade
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • Add scsi_transport_iscsi hooks in qla4xxx to support
    iSCSI session management using iscsiadm.

    This patch is based on discussion here
    http://groups.google.com/group/open-iscsi/browse_thread/thread/e89fd888baf656a0#

    Now users can use iscsiadm to do target discovery and do login/logout to
    individual targets using the qla4xxx iSCSI class interface.

    This patch leaves some dead code, but to make it easier to review
    we are leaving and in the next patch we will remove that old code.

    V2 - NOTE: Added code to avoid waiting for AEN during login/logout
    in the driver, instead added a kernel to user event
    to notify iscsid about login status. Because of this
    iscsid will not get blocked.

    Signed-off-by: Manish Rangankar
    Signed-off-by: Lalit Chandivade
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • This patch adds bsg support to qla4xxx.

    Signed-off-by: Vikas Chaudhary
    Signed-off-by: Harish Zunjarrao
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • Add support to set VLAN and show vlan settings in sysfs

    Signed-off-by: Vikas Chaudhary
    Signed-off-by: Harish Zunjarrao
    [Patch updated to new defines]
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • The iscsi class currently does not support writable sysfs
    attrs for LLD sysfs settings. This patch converts the
    iscsi class and driver's host attrs to use the attribute
    container sysfs group and the sysfs group's is_visible callout
    to be able to support readable or writable sysfs attrs.

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

    Mike Christie
     
  • We can replace the iface param mask with the
    attr_is_visible callback.

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

    Mike Christie
     
  • The iscsi class currently does not support writable sysfs
    attrs for LLD sysfs settings. This patch converts the
    iscsi class and driver's session attrs to use the attribute
    container sysfs group and the sysfs group's is_visible callout
    to be able to support readable or writable sysfs attrs.

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

    Mike Christie
     
  • The iscsi class currently does not support writable sysfs
    attrs for LLD sysfs settings. This patch converts the
    iscsi class and drivers to use the attribute container
    sysfs group and the sysfs group's is_visible callout
    to be able to support readable or writable sysfs attrs.

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

    Mike Christie
     
  • Add support for default ipv4 and ipv6 ifaces in qla4xxx.

    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Lalit Chandivade
    Reviewed-by: Harish Zunjarrao
    [make iface creation dynamic]
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • - Move all ipaddress related param to "struct ipaddress_config"
    from "struct scsi_qla_host"
    - update function - qla4xxx_update_local_ip()
    - Rename IPOPT_IPv4_PROTOCOL_ENABLE to IPOPT_IPV4_PROTOCOL_ENABLE

    Signed-off-by: Vikas Chaudhary
    [update for new ISCSI_IFACE values]
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • Allows user space (iscsiadm) to send down network configuration
    parameters for LLD to set private network configuration on the iSCSI
    adapters.

    Based on patches from Vikas Chaudhary.

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

    Mike Christie
     

25 May, 2011

4 commits