Whamcloud - gitweb
LU-15935 target: keep track of multirpc slots in last_rcvd 99/49399/2
authorEtienne AUJAMES <eaujames@ddn.com>
Wed, 14 Dec 2022 01:46:19 +0000 (17:46 -0800)
committerOleg Drokin <green@whamcloud.com>
Wed, 19 Apr 2023 03:32:24 +0000 (03:32 +0000)
commit756e2fc318dced505dd57e4a18bd1383f14485ce
tree24f2af5c3b64454f087d5c9f35b4173f0b7dbf70
parent7ba5dc8e895c693f68d49e7ffc46483710d67beb
LU-15935 target: keep track of multirpc slots in last_rcvd

OBD_INCOMPAT_MULTI_RPCS is cleared by tgt_boot_epoch_update() if the
recovery is aborted. This supposes that all the clients are evicted
but that is not true. Some clients could have successfully finished
their recovery. In that case, those clients will keep their last_rcvd
slot.

This patch modifies lut_num_client to keep track of multirpc
slots in last_rcvd.
For now the counter is use only by tgt_fini() to clear
OBD_INCOMPAT_MULTI_RPCS. So we can expand this use case for
tgt_boot_epoch_update().

Add replay-dual test_33.

Lustre-change: https://review.whamcloud.com/48082
Lustre-commit: 1a79d395dd61ea2e21598bfaa5b39375e64ec22c

Test-Parameters: testlist=replay-dual env=ONLY=33,ONLY_REPEAT=30
Signed-off-by: Etienne AUJAMES <eaujames@ddn.com>
Change-Id: I70791c9dcb7cc77f018b9e5c95568598d54f0322
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49399
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lu_target.h
lustre/target/tgt_lastrcvd.c
lustre/tests/replay-dual.sh