Whamcloud - gitweb
LU-13974 tests: update log corruption 64/46864/1
authorAlexander Boyko <c17825@cray.com>
Tue, 24 Nov 2020 09:05:36 +0000 (04:05 -0500)
committerMikhail Pershin <mpershin@whamcloud.com>
Fri, 18 Mar 2022 06:47:40 +0000 (09:47 +0300)
commit853d5e4a25f393033b132659d24b7aad6916e3b8
tree505f49d2b84e73219c66750c449db9380f8121b7
parenta6555d5b7f9a76250e8460adcb3d8a089356f490
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>
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