Whamcloud - gitweb
LU-14711 osc: Notify server if cache discard takes a long time
authorOleg Drokin <green@whamcloud.com>
Fri, 28 May 2021 02:34:44 +0000 (22:34 -0400)
committerAndreas Dilger <adilger@whamcloud.com>
Thu, 15 Jul 2021 08:43:48 +0000 (08:43 +0000)
commita5bf043d9b38ae9de27b3c6b97d5b7044449e293
tree42039bba3cab33518cd36c063a4ffb69f80dd6f9
parentf1de546000781a04ac6face1a19b077f03be774a
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

Lustre-change: https://review.whamcloud.com/43857
Lustre-commit: 564070343ac4ccf4f97843009e1c36f5130ac19c

Change-Id: I4603c83e92c328d93e29adce8cbfac3d561b25d5
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Patrick Farrell <farr0186@gmail.com>
Reviewed-on: https://review.whamcloud.com/44285
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@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