Whamcloud - gitweb
LU-13974 tests: update log corruption 64/46864/3
authorAlexander Boyko <c17825@cray.com>
Tue, 24 Nov 2020 09:05:36 +0000 (04:05 -0500)
committerOleg Drokin <green@whamcloud.com>
Thu, 5 May 2022 06:10:23 +0000 (06:10 +0000)
commita2d27236181e4736f7b0689baca3e2db55387bdc
treeebd573cfe86d5b00e26233e229f8a1e9bde17c30
parent337b1d1bb301725b91380326985af52a5bede3a1
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.

Lustre-change: https://review.whamcloud.com/40743
Lustre-commit: 562837124ec7bffeba7edb4b4b899bc271833374

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-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/46864
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@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