diff options
author | David Howells <dhowells@redhat.com> | 2018-11-12 22:33:22 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-15 11:35:40 -0800 |
commit | 7150ceaacb27f7b3bf494e72cd4be4e11612dfff (patch) | |
tree | cdb1fb191dc649c0f1563045fe17ef0630690b2c /fs/afs/misc.c | |
parent | ebcd210e93b2a984b7a7b82d45f7f0d21b7ec2d2 (diff) |
rxrpc: Fix life check
The life-checking function, which is used by kAFS to make sure that a call
is still live in the event of a pending signal, only samples the received
packet serial number counter; it doesn't actually provoke a change in the
counter, rather relying on the server to happen to give us a packet in the
time window.
Fix this by adding a function to force a ping to be transmitted.
kAFS then keeps track of whether there's been a stall, and if so, uses the
new function to ping the server, resetting the timeout to allow the reply
to come back.
If there's a stall, a ping and the call is *still* stalled in the same
place after another period, then the call will be aborted.
Fixes: bc5e3a546d55 ("rxrpc: Use MSG_WAITALL to tell sendmsg() to temporarily ignore signals")
Fixes: f4d15fb6f99a ("rxrpc: Provide functions for allowing cleaner handling of signals")
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/afs/misc.c')
0 files changed, 0 insertions, 0 deletions