summaryrefslogtreecommitdiffstats
path: root/Documentation/networking/rxrpc.txt
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2018-10-04 10:54:29 +0200
committerDavid Howells <dhowells@redhat.com>2018-10-04 10:54:29 +0200
commite908bcf4f1a271e7c264dcbffc5881ced8bfacee (patch)
treea0370ebeed307ffd982a8943f568d52567233804 /Documentation/networking/rxrpc.txt
parentrxrpc: Allow the reply time to be obtained on a client call (diff)
downloadlinux-e908bcf4f1a271e7c264dcbffc5881ced8bfacee.tar.xz
linux-e908bcf4f1a271e7c264dcbffc5881ced8bfacee.zip
rxrpc: Allow the reply time to be obtained on a client call
Allow the epoch value to be queried on a server connection. This is in the rxrpc header of every packet for use in routing and is derived from the client's state. It's also not supposed to change unless the client gets restarted. AFS can make use of this information to deduce whether a fileserver has been restarted because the fileserver makes client calls to the filesystem driver's cache manager to send notifications (ie. callback breaks) about conflicting changes from other clients. These convey the fileserver's own epoch value back to the filesystem. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'Documentation/networking/rxrpc.txt')
-rw-r--r--Documentation/networking/rxrpc.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/networking/rxrpc.txt b/Documentation/networking/rxrpc.txt
index 67879992b4c2..605e00cdd6be 100644
--- a/Documentation/networking/rxrpc.txt
+++ b/Documentation/networking/rxrpc.txt
@@ -1080,6 +1080,20 @@ The kernel interface functions are as follows:
successful, the timestamp will be stored into *_ts and true will be
returned; false will be returned otherwise.
+ (*) Get remote client epoch.
+
+ u32 rxrpc_kernel_get_epoch(struct socket *sock,
+ struct rxrpc_call *call)
+
+ This allows the epoch that's contained in packets of an incoming client
+ call to be queried. This value is returned. The function always
+ successful if the call is still in progress. It shouldn't be called once
+ the call has expired. Note that calling this on a local client call only
+ returns the local epoch.
+
+ This value can be used to determine if the remote client has been
+ restarted as it shouldn't change otherwise.
+
=======================
CONFIGURABLE PARAMETERS