[PATCH v3 5/5] nvme_fc: add dev_loss_tmo timeout and remoteport resume support

Trapp, Darren Darren.Trapp at cavium.com
Thu Oct 19 12:49:08 PDT 2017


Thanks for the response. I think if it tears down the rport immediately and always calls back to the LLD it solves the problem.



On 10/19/17, 11:04 AM, "James Smart" <jsmart2021 at gmail.com> wrote:


    Ahh. I understand. The wait_for_completions are in the lldd and I know 
    older code shows had the sequence you describe. True, if we reuse the 
    remoteport struct, as references never expired, the delete call would 
    have never occurred. So this is a bug with what's there.
    
    I think the cleanest fix is to have the delete callback occur as soon as 
    the delete_associations are done - as that will always occur and do so 
    rather quickly. If needed, if we find we are reusing a remoteport struct 
    and we hadn't called the delete, we call it prior to returning to the 
    second register remoteport call, which should work as well.
    
    note: as when we call remoteport_delete (ref cnt and free vs association 
    terminate) is independent from dev_loss_tmo, it shouldn't affect this 
    dev_loss patch set.
    
    -- james
    



More information about the Linux-nvme mailing list