From e260f751f2a21fa126eeb4bc9e94250ba3e815f1 Mon Sep 17 00:00:00 2001 From: Mikhail Pershin Date: Fri, 29 Jul 2022 11:24:15 +0300 Subject: [PATCH] LU-16052 llog: handle -EBADR for catalog processing Llog catalog processing might retry to get the last llog block to check for new records if any. That might return -EBADR code which should be considered as valid. Previously -EIO was returned in all cases. Run conf-sanity test_106 several times as specific test Test-Parameters: testlist=conf-sanity env=ONLY=106,SLOW=yes,ONLY_REPEAT=10 Signed-off-by: Mikhail Pershin Change-Id: I30e04ba2c91c8bdce72c95675a1209639e9f0570 Reviewed-on: https://review.whamcloud.com/48070 Tested-by: jenkins Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Etienne AUJAMES Reviewed-by: Oleg Drokin --- lustre/obdclass/llog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lustre/obdclass/llog.c b/lustre/obdclass/llog.c index 79f89fe..b23645d 100644 --- a/lustre/obdclass/llog.c +++ b/lustre/obdclass/llog.c @@ -576,8 +576,8 @@ repeat: GOTO(out, rc = 0); /* we`ve tried to reread the chunk, but there is no * new records */ - if (rc == -EIO && repeated && (chunk_offset + buf_offset) == - cur_offset) + if (repeated && (chunk_offset + buf_offset) == cur_offset && + (rc == -EBADR || rc == -EIO)) GOTO(out, rc = 0); if (rc != 0) GOTO(out, rc); -- 1.8.3.1