OpenCloudOS-Kernel/fs/afs
David Howells 7150ceaacb 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: bc5e3a546d ("rxrpc: Use MSG_WAITALL to tell sendmsg() to temporarily ignore signals")
Fixes: f4d15fb6f9 ("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>
2018-11-15 11:35:40 -08:00
..
Kconfig afs: Allow dumping of server cursor on operation failure 2018-10-24 00:41:09 +01:00
Makefile afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
addr_list.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
afs.h afs: Expand data structure fields to support YFS 2018-10-24 00:41:08 +01:00
afs_cm.h afs: support the CB.ProbeUuid RPC op 2008-04-29 08:06:26 -07:00
afs_fs.h afs: Prospectively look up extra files when doing a single lookup 2018-04-09 21:12:31 +01:00
afs_vl.h afs: Make use of the YFS service upgrade to fully support IPv6 2017-11-13 15:38:19 +00:00
cache.c afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS 2018-10-24 00:41:08 +01:00
callback.c afs: Implement YFS support in the fs client 2018-10-24 00:41:08 +01:00
cell.c afs: Fix TTL on VL server and address lists 2018-10-24 00:41:07 +01:00
cmservice.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
dir.c afs: Implement YFS support in the fs client 2018-10-24 00:41:08 +01:00
dir_edit.c afs: Locally edit directory data for mkdir/create/unlink/... 2018-04-09 21:54:48 +01:00
dynroot.c afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS 2018-10-24 00:41:08 +01:00
file.c afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS 2018-10-24 00:41:08 +01:00
flock.c afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS 2018-10-24 00:41:08 +01:00
fs_probe.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
fsclient.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
inode.c afs: Calc callback expiry in op reply delivery 2018-10-24 00:41:08 +01:00
internal.h afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
main.c afs: Fix cell proc list 2018-10-12 13:18:57 +02:00
misc.c afs: Consolidate abort_to_error translators 2017-11-13 15:38:17 +00:00
mntpt.c afs: Add a couple of tracepoints to log I/O errors 2018-10-24 00:41:07 +01:00
netdevices.c afs: Implement network namespacing 2018-05-23 12:01:15 +01:00
proc.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
protocol_yfs.h afs: Implement YFS support in the fs client 2018-10-24 00:41:08 +01:00
rotate.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
rxrpc.c rxrpc: Fix life check 2018-11-15 11:35:40 -08:00
security.c afs: Fix callback handling 2018-10-24 00:41:09 +01:00
server.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
server_list.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
super.c afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS 2018-10-24 00:41:08 +01:00
vl_list.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
vl_probe.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
vl_rotate.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
vlclient.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
volume.c afs: Probe multiple fileservers simultaneously 2018-10-24 00:41:09 +01:00
write.c afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS 2018-10-24 00:41:08 +01:00
xattr.c afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS 2018-10-24 00:41:08 +01:00
xdr_fs.h afs: Adjust the directory XDR structures 2018-04-09 21:54:48 +01:00
yfsclient.c afs: Fix callback handling 2018-10-24 00:41:09 +01:00