1. 09 2月, 2017 2 次提交
    • Q
      qla2xxx: Add framework for async fabric discovery · 726b8548
      Quinn Tran 提交于
      Currently code performs a full scan of the fabric for
      every RSCN. Its an expensive process in a noisy large SAN.
      
      This patch optimizes expensive fabric discovery process by
      scanning switch for the affected port when RSCN is received.
      
      Currently Initiator Mode code makes login/logout decision without
      knowledge of target mode. This causes driver and firmware to go
      out-of-sync. This framework synchronizes both initiator mode
      personality and target mode personality in making login/logout
      decision.
      
      This patch adds following capabilities in the driver
      
      - Send Notification Acknowledgement asynchronously.
      - Update session/fcport state asynchronously.
      - Create a session or fcport struct asynchronously.
      - Send GNL asynchronously. The command will ask FW to
        provide a list of FC Port entries FW knows about.
      - Send GPDB asynchronously. The command will ask FW to
        provide detail data of an FC Port FW knows about or
        perform ADISC to verify the state of the session.
      - Send GPNID asynchronously. The command will ask switch
        to provide WWPN for provided NPort ID.
      - Send GPSC asynchronously. The command will ask switch
        to provide registered port speed for provided WWPN.
      - Send GIDPN asynchronously. The command will ask the
        switch to provide Nport ID for provided WWPN.
      - In driver unload path, schedule all session for deletion
        and wait for deletion to complete before allowing driver
        unload to proceed.
      Signed-off-by: NQuinn Tran <quinn.tran@cavium.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      [ bvanassche: fixed spelling in patch description ]
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      726b8548
    • Q
      qla2xxx: Track I-T nexus as single fc_port struct · 5d964837
      Quinn Tran 提交于
      Current code merges qla_tgt_sess and fc_port structure
      into single fc_port structure representing same I-T nexus.
      Signed-off-by: NQuinn Tran <quinn.tran@cavium.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      [ bvanassche: fixed spelling of patch description ]
      Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      5d964837
  2. 15 12月, 2016 1 次提交
  3. 18 11月, 2016 2 次提交
  4. 08 1月, 2016 2 次提交
  5. 27 8月, 2015 5 次提交
  6. 25 7月, 2015 1 次提交
    • A
      qla2xxx: delay plogi/prli ack until existing sessions are deleted · a6ca8878
      Alexei Potashnik 提交于
      - keep qla_tgt_sess object on the session list until it's freed
      
      - modify use of sess->deleted flag to differentiate delayed
        session deletion that can be cancelled from irreversible one:
        QLA_SESS_DELETION_PENDING vs QLA_SESS_DELETION_IN_PROGRESS
      
      - during IN_PROGRESS deletion all newly arrived commands and TMRs will
        be rejected, existing commands and TMRs will be terminated when
        given by the core to the fabric or simply dropped if session logout
        has already happened (logout terminates all existing exchanges)
      
      - new PLOGI will initiate deletion of the following sessions
        (unless deletion is already IN_PROGRESS):
        - with the same port_name (with logout)
        - different port_name, different loop_id but the same port_id
          (with logout)
        - different port_name, different port_id, but the same loop_id
          (without logout)
      
      - additionally each new PLOGI will store imm notify iocb in the
        same port_name session being deleted. When deletion process
        completes this iocb will be acked. Only the most recent PLOGI
        iocb is stored. The older ones will be terminated when replaced.
      
      - new PRLI will initiate deletion of the following sessions
        (unless deletion is already IN_PROGRESS):
        - different port_name, different port_id, but the same loop_id
         (without logout)
      
      Cc: <stable@vger.kernel.org> # v3.18+
      Signed-off-by: NAlexei Potashnik <alexei@purestorage.com>
      Acked-by: NQuinn Tran <quinn.tran@qlogic.com>
      Signed-off-by: NHimanshu Madhani <himanshu.madhani@qlogic.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      a6ca8878
  7. 13 6月, 2015 1 次提交
  8. 12 11月, 2014 1 次提交
  9. 25 9月, 2014 3 次提交
  10. 18 7月, 2014 1 次提交
  11. 19 5月, 2014 3 次提交
  12. 16 3月, 2014 4 次提交
  13. 03 9月, 2013 2 次提交
  14. 23 7月, 2013 1 次提交
  15. 09 7月, 2013 2 次提交
  16. 12 4月, 2013 1 次提交
  17. 22 2月, 2013 2 次提交
  18. 30 11月, 2012 2 次提交
  19. 24 9月, 2012 3 次提交
  20. 15 9月, 2012 1 次提交