1. 23 2月, 2018 4 次提交
  2. 13 2月, 2018 2 次提交
  3. 21 12月, 2017 1 次提交
    • J
      scsi: lpfc: Fix random heartbeat timeouts during heavy IO · cf1a1d3e
      James Smart 提交于
      NVME targets appear to randomly disconnect from the initiator when
      running heavy IO.
      
      The error is due to the host aggregate (across all controllers) io load
      was beyond the maximum exchange count for nvme on the adapter. The
      driver was properly returning a resource busy status, but the io load
      was so great heartbeat commands would be bounced and not have a
      successful retry within the fuzz amount for the nvme heartbeat (yes, a
      very high io load!). Thus the target was terminating the controller due
      to a keep alive failure.
      
      Resolve by reserving a few exchanges (by counters) which can be used
      when the adapter is out of normal exchanges and the command is a NVME
      heartbeat command. As counters are used, while the reserved command is
      outstanding, as soon as any other exchange completes, the counters are
      adjusted and the reserved count is replenished. The heartbeat completes
      execution in a normal fashion.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Reviewed-by: NHannes Reinecke <hare@suse.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      cf1a1d3e
  4. 05 12月, 2017 3 次提交
  5. 03 10月, 2017 1 次提交
  6. 25 8月, 2017 1 次提交
  7. 08 8月, 2017 1 次提交
  8. 13 6月, 2017 2 次提交
  9. 17 5月, 2017 5 次提交
  10. 24 4月, 2017 2 次提交
  11. 07 3月, 2017 3 次提交
    • J
      scsi: lpfc: code cleanups in NVME initiator base · 2ade92ae
      James Smart 提交于
      This patch addresses the smatch issues identified by Dan Carpenter
      in http://www.spinics.net/lists/linux-scsi/msg105663.html
      
      The issues are:
      
      drivers/scsi/lpfc/lpfc_hbadisc.c:316 lpfc_dev_loss_tmo_handler()
      warn: we tested 'vport->load_flag & 2' before and it was 'false'
      
      Action: removed item from test
      
      drivers/scsi/lpfc/lpfc_hbadisc.c:701 lpfc_work_done()
      warn: test_bit() takes a bit number
      
      Action: changed definition so bit number
      
      drivers/scsi/lpfc/lpfc_hbadisc.c:2206 lpfc_mbx_cmpl_fcf_scan_read_fcf_rec()
      error: uninitialized symbol 'vlan_id'.
      drivers/scsi/lpfc/lpfc_hbadisc.c:2582 lpfc_mbx_cmpl_fcf_rr_read_fcf_rec()
      error: uninitialized symbol 'vlan_id'.
      drivers/scsi/lpfc/lpfc_hbadisc.c:2683 lpfc_mbx_cmpl_read_fcf_rec() error:
      uninitialized symbol 'vlan_id'.
      
      Action: initilized value
      
      drivers/scsi/lpfc/lpfc_hbadisc.c:4025 lpfc_register_remote_port()
      error: we previously assumed 'rdata' could be null (see line 4023)
      
      Action: refactored check block
      
      drivers/scsi/lpfc/lpfc_hbadisc.c:4613 lpfc_sli4_dequeue_nport_iocbs()
      error: double unlock 'irq:'
      
      Action: removed inner irq reference
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      2ade92ae
    • J
      scsi: lpfc: Fix eh_deadline setting for sli3 adapters. · 96418b5e
      James Smart 提交于
      A previous change unilaterally removed the hba reset entry point
      from the sli3 host template. This was done to allow tape devices
      being used for back up from being removed. Why was this done ?
      When there was non-responding device on the fabric, the error
      escalation policy would escalate to the reset handler. When the
      reset handler was called, it would reset the adapter, dropping
      link, thus logging out and terminating all i/o's - on any target.
      If there was a tape device on the same adapter that wasn't in
      error, it would kill the tape i/o's, effectively killing the
      tape device state.  With the reset point removed, the adapter
      reset avoided the fabric logout, allowing the other devices to
      continue to operate unaffected. A hack - yes. Hint: we really
      need a transport I_T nexus reset callback added to the eh process
      (in between the SCSI target reset and hba reset points), so a
      fc logout could occur to the one bad target only and stop the error
      escalation process.
      
      This patch commonizes the approach so it can be used for sli3 and sli4
      adapters, but mandates the admin, via module parameter, specifically
      identify which adapters the resets are to be removed for. Additionally,
      bus_reset, which sends Target Reset TMFs to all targets, is also removed
      from the template as it too has the same effect as the adapter reset.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Reviewed-by: NLaurence Oberman <loberman@redhat.com>
      Tested-by: NLaurence Oberman <loberman@redhat.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      96418b5e
    • J
      scsi: lpfc: add NVME exchange aborts · 318083ad
      James Smart 提交于
      previous code did little more than log a message.
      
      This patch adds abort path support, modeled after the SCSI code paths.
      Currently addresses only the initiator path. Target path under
      development, but stubbed out.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      318083ad
  12. 23 2月, 2017 9 次提交
  13. 06 1月, 2017 1 次提交
  14. 05 1月, 2017 2 次提交
  15. 09 11月, 2016 2 次提交
  16. 16 7月, 2016 1 次提交