• David Howells's avatar
    rxrpc: Move call state changes from recvmsg to I/O thread · 93368b6b
    David Howells authored
    Move the call state changes that are made in rxrpc_recvmsg() to the I/O
    thread.  This means that, thenceforth, only the I/O thread does this and
    the call state lock can be removed.
    
    This requires the Rx phase to be ended when the last packet is received,
    not when it is processed.
    
    Since this now changes the rxrpc call state to SUCCEEDED before we've
    consumed all the data from it, rxrpc_kernel_check_life() mustn't say the
    call is dead until the recvmsg queue is empty (unless the call has failed).
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    cc: Marc Dionne <marc.dionne@auristor.com>
    cc: linux-afs@lists.infradead.org
    93368b6b
recvmsg.c 13.5 KB