Whamcloud - gitweb
LU-14711 osc: Notify server if cache discard takes a long time 57/43857/6
authorOleg Drokin <green@whamcloud.com>
Fri, 28 May 2021 02:34:44 +0000 (22:34 -0400)
committerOleg Drokin <green@whamcloud.com>
Sun, 30 May 2021 02:42:39 +0000 (22:42 -0400)
commit0b6cb5c13a7ef7bef585abe07f1313858cd31f9c
treec30fad256d1671df6cdad4e0fe0f15df2e649d6d
parent554d1ad6067d0c5d7ebf2f4714afd1fdeac779f1
LU-14711 osc: Notify server if cache discard takes a long time

Discarding a large number of pages from a mapping under a
single lock can take a really long time (750GB is over 170s).
Since there is no stream of RPCs sent to the server as with
read or write to prolong the DLM lock timeout, the server
may evict the client as it does not see progress is being made.

As such send periodic "empty" RPCs to the server to show the
client is still alive and working on the pages under the lock.

For compatibility reasons the RPC is formed as a one-byte
OST_READ request with a special flag set to avoid doing
actual IO, but older servers actually do the one-byte read

Change-Id: I4603c83e92c328d93e29adce8cbfac3d561b25d5
Signed-off-by: Oleg Drokin <green@whamcloud.com>
lustre/include/cl_object.h
lustre/osc/osc_cache.c
lustre/osc/osc_internal.h
lustre/osc/osc_request.c
lustre/target/tgt_handler.c