• Sreekanth Reddy's avatar
    mpt3sas: Don't block the drive when drive addition under the control of SML · e4bc7f5c
    Sreekanth Reddy authored
    During hot-plugging of a disk(having a flaky link), the disk addition
    stops and any further disk addition or removal doesn't happen on that
    controller.
    
    This is because, when driver receives DELAY_NOT_RESPONDING event for a disk
    while it is undergoing addition at the SCSI Transport layer, the driver
    would block the I/O to that disk resulting in a deadlock. i.e the disk
    addition work couldn't be completed at the SCSI Transport Layer as it
    can't send any I/Os (such as Inquiry, Report LUNs etc) to the disk as
    I/Os are blocked to this drive. Also any subsequent device removal
    (TARGET_NOT_RESPONDING) or link update(RC_PHY_CHANGED) event couldn't be
    processed as they are in the queue to get processed after disk addition
    event.
    
    Description of Change:
    Don't block the drive when drive addition is under the control of SML.
    So that SML won't be blocked of issuing the device dicovery commands
    (such as Inquiry, Report LUNs etc).
    Signed-off-by: default avatarSreekanth Reddy <Sreekanth.Reddy@avagotech.com>
    Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: default avatarJames Bottomley <JBottomley@Odin.com>
    e4bc7f5c
mpt3sas_transport.c 63 KB