• Benjamin Block's avatar
    scsi: zfcp: Move p-t-p port allocation to after xport data · ac007adc
    Benjamin Block authored
    When doing the very first adapter recovery - initialization - for a FCP
    device in a point-to-point topology we also allocate the port object
    corresponding to the attached remote port, and trigger a port recovery for
    it that will run after the adapter recovery finished.
    
    Right now this happens right after we finished with the exchange config
    data command, and uses the fibre channel host object corresponding to the
    FCP device to determine whether a point-to-point topology is used.
    
    When moving the scsi host object allocation and registration - and thus
    also the fibre channel host object allocation - to after the first exchange
    config and exchange port data, this use of the fc_host object is not
    possible anymore at that point in the work flow.
    
    But the allocation and recovery trigger doesn't have notable side-effects
    on the following exchange port data processing, so we can move those to
    after xport data, and thus also to after the scsi host object allocation,
    once we move it. Then the fc_host object can be used again, like it is now.
    
    For any further adapter recoveries this doesn't change anything, because at
    that point the port object already exists and recovery is triggered
    elsewhere for existing port objects.
    
    Link: https://lore.kernel.org/r/73e5d4ac21e2b37bf0c3ca8e530bc5a5c6e74f8f.1588956679.git.bblock@linux.ibm.comReviewed-by: default avatarSteffen Maier <maier@linux.ibm.com>
    Signed-off-by: default avatarBenjamin Block <bblock@linux.ibm.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    ac007adc
zfcp_erp.c 49.8 KB