LU-16203 llog: skip bad records in llog
This patch is further development of idea to skip bad
(corrupted) llogs data. If llog has fixed-size records
then it is possible to skip one record but not rest of
llog block.
Patch also fixes the skipping to the next chunk:
- make sure to skip to the next block for partial chunk
or it causes the same block re-read.
- handle index == 0 as goal for the llog_next_block() as
expected exclusion and just return requested block
- set new index after block was skipped to the first one
in block
- don't create fake padding record in llog_osd_next_block()
as the caller can handle it and would know about
- restore test_8 functionality to check corruption handling
Fixes:
ec4194e4e78c ("LU-11591 llog: add synchronization for the last record")
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I6f88269e8626269268352f8bfd6d7950de438f3a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/48776
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>