“d4231b351317b5284ab1168b9271e053f20863eb”上不存在“paddle/fluid/framework/block_desc.cc”
  1. 13 6月, 2017 3 次提交
    • J
      scsi: lpfc: Fix nvme port role handling in sysfs and debugfs handlers. · 7d790f04
      James Smart 提交于
      While debugging Devloss and recovery, debugfs and sysfs were found to
      not show the NVME port roles consistently.
      
      The port role FC_PORT_ROLE_NVME_DISCOVERY was added with the devloss
      bringup and the other issues were just oversight.
      
      Add NVME Target and DISCSRVC to debugfs nodeinfo and sysfs nvme info
      handlers. The full port role was added to the NVME data only not the
      generic nodelist.
      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>
      7d790f04
    • J
      scsi: lpfc: Fix transition nvme-i rport handling to nport only. · 80cc0043
      James Smart 提交于
      As the devloss API was implemented in the nvmei driver, an evaluation of
      the nvme transport and the lpfc driver showed dual management of the
      rports.  This creates a bug possibility when the thread count and SAN
      size increases.
      
      The nvmei driver code was based on a very early transport and was not
      revisited until the devloss API was introduced.
      
      Remove the listhead in the driver's rport data structure and the
      listhead in the driver's lport data structure.  Remove all rport_list
      traversal.  Convert the driver to use the nrport (nvme rport) pointer
      that is now NULL or nonNULL depending on a devloss action.  Convert
      debugfs and nvme_info in sysfs to use the fc_nodes list in the vport.
      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>
      80cc0043
    • J
      scsi: lpfc: Add nvme initiator devloss support · 7a06dcd3
      James Smart 提交于
      Add nvme initiator devloss support
      
      The existing implementation was based on no devloss behavior in the
      transport (e.g. immediate teardown) so code didn't properly handle
      delayed nvme rport device unregister calls.  In addition, the driver was
      not correctly cycling the rport port role for each
      register-unregister-reregister process.
      
      This patch does the following:
      
      Rework the code to properly handle rport device unregister calls and
      potential re-allocation of the remoteport structure if the port comes
      back in under dev_loss_tmo.
      
      Correct code that was incorrectly cycling the rport port role for each
      register-unregister-reregister process.
      
      Prep the code to enable calling the nvme_fc transport api to dynamically
      update dev_loss_tmo when the scsi sysfs interface changes it.
      
      Memset the rpinfo structure in the registration call to enforce "accept
      nvme transport defaults" in the registration call.  Driver parameters do
      influence the dev_loss_tmo transport setting dynamically.
      
      Simplifies the register function: the driver was incorrectly searching
      its local rport list to determine resume or new semantics, which is not
      valid as the transport already handles this.  The rport was resumed if
      the rport handed back matches the ndlp->nrport pointer.  Otherwise,
      devloss fired and the ndlp's nrport is NULL.
      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>
      7a06dcd3
  2. 17 5月, 2017 4 次提交
  3. 24 4月, 2017 2 次提交
    • J
      Add Fabric assigned WWN support. · aeb3c817
      James Smart 提交于
      Adding support for Fabric assigned WWPN and WWNN.
      
      Firmware sends first FLOGI to fabric with vendor version changes.
      On link up driver gets updated service parameter with FAWWN assigned port
      name.  Driver sends 2nd FLOGI with updated fawwpn and modifies the
      vport->fc_portname in driver.
      
      Note:
      Soft wwpn will not be allowed when fawwpn is enabled.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      aeb3c817
    • J
      Fix nvme initiator handling when not enabled. · 4410a67a
      James Smart 提交于
      Fix nvme initiator handline when CONFIG_LPFC_NVME_INITIATOR is not enabled.
      
      With update nvme upstream driver sources, loading
      the driver with nvme enabled resulting in this Oops.
      
       BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
       IP: lpfc_nvme_update_localport+0x23/0xd0 [lpfc]
       PGD 0
       Oops: 0000 [#1] SMP
       CPU: 0 PID: 10256 Comm: lpfc_worker_0 Tainted
       Hardware name: ...
       task: ffff881028191c40 task.stack: ffff880ffdf00000
       RIP: 0010:lpfc_nvme_update_localport+0x23/0xd0 [lpfc]
       RSP: 0018:ffff880ffdf03c20 EFLAGS: 00010202
      
      Cause: As the initiator driver completes discovery at different stages,
      it call lpfc_nvme_update_localport to hint that the DID and role may have
      changed.  In the implementation of lpfc_nvme_update_localport, the driver
      was not validating the localport or the lport during the execution
      of the update_localport routine.  With the recent upstream additions to
      the driver, the create_localport routine didn't run and so the localport
      was NULL causing the page-fault Oops.
      
      Fix: Add the CONFIG_LPFC_NVME_INITIATOR preprocessor inclusions to
      lpfc_nvme_update_localport to turn off all routine processing when
      the running kernel does not have NVME configured.  Add NULL pointer
      checks on the localport and lport in lpfc_nvme_update_localport and
      dump messages if they are NULL and just exit.
      Also one alingment issue fixed.
      Repalces the ifdef with the IS_ENABLED macro.
      Signed-off-by: NDick Kennedy <dick.kennedy@broadcom.com>
      Signed-off-by: NJames Smart <james.smart@broadcom.com>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      4410a67a
  4. 19 4月, 2017 1 次提交
  5. 16 3月, 2017 1 次提交
    • J
      scsi: lpfc: Finalize Kconfig options for nvme · 7d708033
      James Smart 提交于
      Reviewing the result of what was just added for Kconfig, we made a poor
      choice. It worked well for full kernel builds, but not so much for how
      it would be deployed on a distro.
      
      Here's the final result:
      - lpfc will compile in NVME initiator and/or NVME target support based
        on whether the kernel has the corresponding subsystem support.
        Kconfig is not used to drive this specifically for lpfc.
      - There is a module parameter, lpfc_enable_fc4_type, that indicates
        whether the ports will do FCP-only or FCP & NVME (NVME-only not yet
        possible due to dependency on fc transport). As FCP & NVME divvys up
        exchange resources, and given NVME will not be often initially, the
        default is changed to FCP only.
      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>
      7d708033
  6. 07 3月, 2017 2 次提交
    • J
      scsi: lpfc: Rename LPFC_MAX_EQ_DELAY to LPFC_MAX_EQ_DELAY_EQID_CNT · 43140ca6
      James Smart 提交于
      Without apriori understanding of what the define is, the name gives
      a very different impression of what it is (a max delay value
      for an EQ).  Rename the define so it reflects what it is: the number
      of EQ IDs that can be set in one instance of the MODIFY_EQ_DELAY
      mbx command.
      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>
      43140ca6
    • 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
  7. 28 2月, 2017 1 次提交
  8. 23 2月, 2017 5 次提交
  9. 21 1月, 2017 1 次提交
  10. 06 1月, 2017 1 次提交
  11. 05 1月, 2017 4 次提交
  12. 09 11月, 2016 9 次提交
  13. 21 7月, 2016 1 次提交
    • A
      scsi: lpfc: avoid harmless comparison warning · de8c36bb
      Arnd Bergmann 提交于
      When building with -Wextra, we get a lot of warnings for the lpfc driver
      concerning expressions that are always true, starting with:
      
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_enable_npiv_init':
      drivers/scsi/lpfc/lpfc_attr.c:2786:77: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_enable_rrq_init':
      drivers/scsi/lpfc/lpfc_attr.c:2802:76: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_suppress_link_up_init':
      drivers/scsi/lpfc/lpfc_attr.c:2812:2050: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      drivers/scsi/lpfc/lpfc_attr.c: In function 'lpfc_log_verbose_init':
      drivers/scsi/lpfc/lpfc_attr.c:3064:1930: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]
      
      The code works as intended, but it would be nice to shut up the warning
      so we don't clutter up build logs with this. Using a separate inline
      function for it makes it clear to the compiler that the comparison is
      necessary in the caller but still lets it do the constant-folding.
      
      [mkp: fix typo]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Acked-by: NJames Smart <james.smart@broadcom.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      de8c36bb
  14. 16 7月, 2016 5 次提交