Whamcloud - gitweb
LU-13974 tests: update log corruption 43/40743/4
authorAlexander Boyko <c17825@cray.com>
Tue, 24 Nov 2020 09:05:36 +0000 (04:05 -0500)
committerOleg Drokin <green@whamcloud.com>
Wed, 10 Mar 2021 08:02:00 +0000 (08:02 +0000)
commit562837124ec7bffeba7edb4b4b899bc271833374
tree87a3e5216b82710caab65eebd50d1b2cb4ea22c1
parent584d9e46053234d02a3290822317552785e44e76
LU-13974 tests: update log corruption

Test case reproduce missing object for sub transaction during
set xattr operation.
First setattr got -2, second already started, but didn't
make llog_add yet. In this case llog osp object is stale after
top_trans_start. So declaration phase can not refresh llogs. And
at llog_osd_write_rec osp object changes stale state to
valid(dt_attr_get), but llog handle and llog header are invalid.
A new record would be added to updatelog with wrong index.
In that case processing of update log fails with

fs1-MDT0001-osp-MDT0003: [0x2:0x400024d0:0x2] Invalid record: index
112926 but expected 112925
lod_sub_recovery_thread()) fs1-MDT0001-osp-MDT0003 get update log
failed: rc = -34
Recovery aborted, and clients are evicted.

HPE-bug-id: LUS-9030
Test-Parameters: testlist=sanity  envdefinitions=ONLY="427"
Signed-off-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I6a47fed1bc01f4be62216d1d0787adc413df0cf5
Reviewed-on: https://review.whamcloud.com/40743
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd_support.h
lustre/osp/osp_md_object.c
lustre/target/out_lib.c
lustre/target/update_trans.c
lustre/tests/sanity.sh