• Chuck Lever's avatar
    svcrdma: Add a "parsed chunk list" data structure · 78147ca8
    Chuck Lever authored
    This simple data structure binds the location of each data payload
    inside of an RPC message to the chunk that will be used to push it
    to or pull it from the client.
    
    There are several benefits to this small additional overhead:
    
     * It enables support for more than one chunk in incoming Read and
       Write lists.
    
     * It translates the version-specific on-the-wire format into a
       generic in-memory structure, enabling support for multiple
       versions of the RPC/RDMA transport protocol.
    
     * It enables the server to re-organize a chunk list if it needs to
       adjust where Read chunk data lands in server memory without
       altering the contents of the XDR-encoded Receive buffer.
    
    Construction of these lists is done while sanity checking each
    incoming RPC/RDMA header. Subsequent patches will make use of the
    generated data structures.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    78147ca8
svc_rdma_recvfrom.c 25.1 KB