• Chuck Lever's avatar
    xprtrdma: Invoke rpcrdma_ep_create() in the connect worker · 85cd8e2b
    Chuck Lever authored
    Refactor rpcrdma_ep_create(), rpcrdma_ep_disconnect(), and
    rpcrdma_ep_destroy().
    
    rpcrdma_ep_create will be invoked at connect time instead of at
    transport set-up time. It will be responsible for allocating per-
    connection resources. In this patch it allocates the CQs and
    creates a QP. More to come.
    
    rpcrdma_ep_destroy() is the inverse functionality that is
    invoked at disconnect time. It will be responsible for releasing
    the CQs and QP.
    
    These changes should be safe to do because both connect and
    disconnect is guaranteed to be serialized by the transport send
    lock.
    
    This takes us another step closer to resolving the address and route
    only at connect time so that connection failover to another device
    will work correctly.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
    85cd8e2b
transport.c 22.4 KB