Whamcloud - gitweb
LU-19015 llog: logic for skipping a zeroed record 67/59267/6
authorAlexander Boyko <alexander.boyko@hpe.com>
Fri, 16 May 2025 12:38:12 +0000 (14:38 +0200)
committerOleg Drokin <green@whamcloud.com>
Thu, 12 Jun 2025 06:36:04 +0000 (06:36 +0000)
commit919c5d25fc45121466ae0ea803558039a2162538
tree44ea25f125855027d82a549727277926d515935b
parent04157900fafdf8c4b9ec40d5bf7ba306789509ed
LU-19015 llog: logic for skipping a zeroed record

For ENOSPC errors during dt_write() and threads races, the changelog
could have a sparse file with zeros inside. The current processing
logic skips records for the next chunk.
The patch adds the abilty to skip only zeros in the buffer and start
from a valid record.
Also fix changes the llog_test 8 so that it uses non-zero byte for
corruption.

Fixes: cb1290768df9 ("LU-18218 mdd: changelog specific write function")
Signed-off-by: Alexander Boyko <alexander.boyko@hpe.com>
Change-Id: I7263764ba6a89f226995b8967631eaa6d5bdd4dd
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/59267
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd_support.h
lustre/kunit/llog_test.c
lustre/mdd/mdd_dir.c
lustre/obdclass/llog.c
lustre/tests/recovery-small.sh