• James.Smart@Emulex.Com's avatar
    [SCSI] fix target scanning oops with fc transport class · 5c44cd2a
    James.Smart@Emulex.Com authored
    We have some nasty issues with 2.6.12-rc6. Any request to scan on
    the lpfc or qla2xxx FC adapters will oops. What is happening is the
    system is defaulting to non-transport registered targets, which
    inherit the parent of the scan. On this second scan, performed by
    the attribute, the parent becomes the shost instead of the rport.
    The slave functions in the 2 FC adapters use starget_to_rport()
    routines, which incorrectly map the shost as an rport pointer.
    
    Additionally, this pointed out other weaknesses:
    - If the target structure is torn down outside of the transport,
      we have no method for it to be regenerated at the proper parent.
    - We have race conditions on the target being allocated by both
      the midlayer scan (parent=shost) and by the fc transport
      (parent=rport).
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    5c44cd2a
scsi_scan.c 43.5 KB