• Chuck Lever's avatar
    svcrdma: Simplify svc_rdma_recv_ctxt_put · 1e5f4160
    Chuck Lever authored
    Currently svc_rdma_recv_ctxt_put's callers have to know whether they
    want to free the ctxt's pages or not. This means the human
    developers have to know when and why to set that free_pages
    argument.
    
    Instead, the ctxt should carry that information with it so that
    svc_rdma_recv_ctxt_put does the right thing no matter who is
    calling.
    
    We want to keep track of the number of pages in the Receive buffer
    separately from the number of pages pulled over by RDMA Read. This
    is so that the correct number of pages can be freed properly and
    that number is well-documented.
    
    So now, rc_hdr_count is the number of pages consumed by head[0]
    (ie., the page index where the Read chunk should start); and
    rc_page_count is always the number of pages that need to be released
    when the ctxt is put.
    
    The @free_pages argument is no longer needed.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    1e5f4160
svc_rdma_recvfrom.c 21.9 KB