Whamcloud - gitweb
LU-14711 osc: Notify server if cache discard takes a long time 57/43857/7
authorOleg Drokin <green@whamcloud.com>
Fri, 28 May 2021 02:34:44 +0000 (22:34 -0400)
committerOleg Drokin <green@whamcloud.com>
Mon, 14 Jun 2021 16:43:12 +0000 (16:43 +0000)
commit564070343ac4ccf4f97843009e1c36f5130ac19c
tree68e458f40623316f316a7759200d8bafd2d59833
parent3f8e14163a57ddf51047efc1c0a1b9c15631e2b4
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>
Reviewed-on: https://review.whamcloud.com/43857
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Patrick Farrell <farr0186@gmail.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