1. 27 8月, 2015 2 次提交
  2. 13 8月, 2015 1 次提交
    • T
      qla2xxx: prevent board_disable from running during EEH · a30c2a3b
      Thadeu Lima de Souza Cascardo 提交于
      Commit f3ddac19 ("[SCSI] qla2xxx:
      Disable adapter when we encounter a PCI disconnect.") has introduced a
      code that disables the board, releasing some resources, when reading
      0xffffffff.
      
      In case this happens when there is an EEH, this read will trigger EEH
      detection and set PCI channel offline. EEH will be able to recover the
      card from this state by doing a reset, so it's a better option than
      simply disabling the card.
      
      Since eeh_check_failure will mark the channel as offline before
      returning the read value, in case there really was an EEH, we can simply
      check for pci_channel_offline, preventing the board_disable code from
      running if it's true.
      
      Without this patch, EEH code will try to access those same resources
      that board_disable will try to free. This race can cause EEH recovery to
      fail.
      
      [  504.370577] EEH: Notify device driver to resume
      [  504.370580] qla2xxx [0001:07:00.0]-9002:2: The device failed to resume I/O from slot/link_reset.
      Signed-off-by: NThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
      Acked-by: NHimanshu Madhani <himanshu.madhani@qlogic.com>
      Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
      a30c2a3b
  3. 16 6月, 2015 1 次提交
    • N
      target: Drop unnecessary core_tpg_register TFO parameter · bc0c94b1
      Nicholas Bellinger 提交于
      This patch drops unnecessary target_core_fabric_ops parameter usage
      for core_tpg_register() during fabric driver TFO->fabric_make_tpg()
      se_portal_group creation callback execution.
      
      Instead, use the existing se_wwn->wwn_tf->tf_ops pointer to ensure
      fabric driver is really using the same TFO provided at module_init
      time.
      
      Also go ahead and drop the forward TFO declarations tree-wide, and
      handling the special case for iscsi-target discovery TPG.
      
      Cc: Christoph Hellwig <hch@lst.de>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      bc0c94b1
  4. 13 6月, 2015 2 次提交
  5. 31 5月, 2015 11 次提交
  6. 29 5月, 2015 1 次提交
  7. 15 4月, 2015 1 次提交
    • C
      target: simplify the target template registration API · 9ac8928e
      Christoph Hellwig 提交于
      Instead of calling target_fabric_configfs_init() +
      target_fabric_configfs_register() / target_fabric_configfs_deregister()
      target_fabric_configfs_free() from every target driver, rewrite the API
      so that we have simple register/unregister functions that operate on
      a const operations vector.
      
      This patch also fixes a memory leak in several target drivers. Several
      target drivers namely called target_fabric_configfs_deregister()
      without calling target_fabric_configfs_free().
      
      A large part of this patch is based on earlier changes from
      Bart Van Assche <bart.vanassche@sandisk.com>.
      
      (v2: Add a new TF_CIT_SETUP_DRV macro so that the core configfs code
      can declare attributes as either core only or for drivers)
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      9ac8928e
  8. 10 4月, 2015 14 次提交
  9. 08 4月, 2015 2 次提交
    • N
      tcm_qla2xxx: Add fabric_prot_type attribute support · 64b16887
      Nicholas Bellinger 提交于
      This patch updates qla2xxx target to add a new fabric_prot_type TPG
      attribute, used for controlling LLD level protection into LIO when
      the backend device does not support T10-PI.
      
      This is required for qla_target.c to enable WRITE_STRIP + READ_INSERT
      hardware offloads.
      
      It's disabled by default and controls which se_sesion->sess_prot_type
      are set at tcm_qla2xxx_check_initiator_node_acl() session registration
      time.
      
      Cc: Quinn Tran <quinn.tran@qlogic.com>
      Cc: Saurav Kashyap <saurav.kashyap@qlogic.com>
      Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
      Cc: Martin Petersen <martin.petersen@oracle.com>
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      64b16887
    • N
      tcm_qla2xxx: Set TARGET_PROT_ALL for sup_prot_ops · 59bb0ff5
      Nicholas Bellinger 提交于
      This patch adds the missing TARGET_PROT_ALL when initializing a new
      session and declaring the capable se_sess->sup_prot_ops for T10-PI.
      
      This is required in order to function with existing qla_target.c
      DIF protection offload support.
      
      Cc: Quinn Tran <quinn.tran@qlogic.com>
      Cc: Saurav Kashyap <saurav.kashyap@qlogic.com>
      Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
      Cc: Martin Petersen <martin.petersen@oracle.com>
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      59bb0ff5
  10. 20 3月, 2015 1 次提交
    • B
      tcm_qla2xxx: Fix incorrect use of __transport_register_session · 75c3d0bf
      Bart Van Assche 提交于
      This patch fixes the incorrect use of __transport_register_session()
      in tcm_qla2xxx_check_initiator_node_acl() code, that does not perform
      explicit se_tpg->session_lock when accessing se_tpg->tpg_sess_list
      to add new se_sess nodes.
      
      Given that tcm_qla2xxx_check_initiator_node_acl() is not called with
      qla_hw->hardware_lock held for all accesses of ->tpg_sess_list, the
      code should be using transport_register_session() instead.
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
      Cc: Quinn Tran <quinn.tran@qlogic.com>
      Cc: <stable@vger.kernel.org> # 3.5+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      75c3d0bf
  11. 07 3月, 2015 4 次提交