mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
rxrpc: Add notification of end-of-Tx phase
Add a callback to rxrpc_kernel_send_data() so that a kernel service can get a notification that the AF_RXRPC call has transitioned out the Tx phase and is now waiting for a reply or a final ACK. This is called from AF_RXRPC with the call state lock held so the notification is guaranteed to come before any reply is passed back. Further, modify the AFS filesystem to make use of this so that we don't have to change the afs_call state before sending the last bit of data. Signed-off-by: David Howells <[email protected]>
This commit is contained in:
parent
3ec0efde58
commit
e833251ad8
4 changed files with 77 additions and 20 deletions
|
|
@ -21,6 +21,8 @@ struct rxrpc_call;
|
|||
|
||||
typedef void (*rxrpc_notify_rx_t)(struct sock *, struct rxrpc_call *,
|
||||
unsigned long);
|
||||
typedef void (*rxrpc_notify_end_tx_t)(struct sock *, struct rxrpc_call *,
|
||||
unsigned long);
|
||||
typedef void (*rxrpc_notify_new_call_t)(struct sock *, struct rxrpc_call *,
|
||||
unsigned long);
|
||||
typedef void (*rxrpc_discard_new_call_t)(struct rxrpc_call *, unsigned long);
|
||||
|
|
@ -37,7 +39,8 @@ struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *,
|
|||
gfp_t,
|
||||
rxrpc_notify_rx_t);
|
||||
int rxrpc_kernel_send_data(struct socket *, struct rxrpc_call *,
|
||||
struct msghdr *, size_t);
|
||||
struct msghdr *, size_t,
|
||||
rxrpc_notify_end_tx_t);
|
||||
int rxrpc_kernel_recv_data(struct socket *, struct rxrpc_call *,
|
||||
void *, size_t, size_t *, bool, u32 *);
|
||||
bool rxrpc_kernel_abort_call(struct socket *, struct rxrpc_call *,
|
||||
|
|
|
|||
Loading…
Reference in a new issue