nvme-fc unregister remote port

Trapp, Darren Darren.Trapp at cavium.com
Thu Jan 18 08:23:47 PST 2018


During the unload I am allowing the transport to cleanup before I logout.  I don’t want to start tearing
down internally and return IO’s with errors to the transport and have it start error recovery
since it doesn’t know what is going on.

On 1/18/18, 8:18 AM, "James Smart" <james.smart at broadcom.com> wrote:

    On 1/18/2018 7:54 AM, Trapp, Darren wrote:
    > 	If you're concerned about driver unload or reset paths - where the
    >         target is present up to that point, I guess it could be better behaved.
    >      	I don't know that it's mandatory as initiator and target have to manage
    >      	the surprise removal cases.
    >
    > Looking at your proposed text for in T11-2017-00419-v001.pdf it will be mandatory:
    >
    > An initiator NVMe_Port shall perform the following steps to terminate an NVMeoFC association:
    >         1) transmit an ABTS-LS (see 11.3) for all open Exchanges for the NVMeoFC association being
    >         terminated, except for a Disconnect NVMe_LS Exchange.
    >         2) transmit a Disconnect NVMe_LS request to the corresponding target NVMe_Port unless there
    >         is no valid login with the associated NVMe_Port. The Disconnect NVMe_LS request, if
    >         transmitted, shall contain an Association Identifier descriptor with the Association Identifier of
    >         the NVMeoFC association being terminated.
    
    True - but: does deregister mean the target is not there thus the login 
    is gone ?   Even with unload, you will be logging out - at what point 
    did the logout occur ?
    
    I'll look into whether we can do something to be a bit more graceful for 
    the controlled shutdown flows where login can be delayed.
    
    -- james
    
    
    



More information about the Linux-nvme mailing list