Whamcloud - gitweb
LU-16898 osd-ldiskfs: do not return dr_error from past RPC 20/51320/7
authorAndrew Perepechko <andrew.perepechko@hpe.com>
Wed, 14 Jun 2023 16:33:43 +0000 (19:33 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 8 Jul 2023 22:36:12 +0000 (22:36 +0000)
commit35017d0973bb1fcc2a4f47d7cecdea75f5f0e69b
treeb9de43c0186f217469d07e51747edc7b6231eb43
parent4fc3c208422e3f2a16f8c513cecf8fb9ede0081b
LU-16898 osd-ldiskfs: do not return dr_error from past RPC

dr_error was cleared in osd_init_iobuf() only before handling new
read/write RPCs, so a later non-read/write RPC handled by that thread
would return the stale dr_error value from the last read/write RPC.

Always clear dr_error in osd_trans_stop->osd_fini_iobuf() after it
is checked, so that it cannot affect later RPCs.

Change-Id: Idbeab67edc66b58e9869b67640693c7f1dd9d6f2
Signed-off-by: Andrew Perepechko <andrew.perepechko@hpe.com>
HPE-bug-id: LUS-11682
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51320
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_io.c