Whamcloud - gitweb
LU-16430 ptlrpc: racy rq_obsolete bit modification 38/52338/2
authorAndriy Skulysh <andriy.skulysh@hpe.com>
Thu, 24 Nov 2022 13:18:04 +0000 (15:18 +0200)
committerOleg Drokin <green@whamcloud.com>
Wed, 20 Dec 2023 03:49:06 +0000 (03:49 +0000)
commitc56452fbb74a70196a9a330ed863653bae306c20
treee8e1e11ca5aeff878a462b041d6fb99dbc043659
parent05df94478440a0902467c177295804faeeac2991
LU-16430 ptlrpc: racy rq_obsolete bit modification

Racy bit modification causes assertion failure in
ptlrpc_at_remove_timed():
ASSERTION( !list_empty(&req->rq_srv.sr_timed_list) )

rq_obsolete is a bit field, so it's modification
isn't atomic and should be modified under rq_lock.

Lustre-change: https://review.whamcloud.com/49505
Lustre-commit: 14ac768fd9633c5cf4474555170e5042c71a135b

Change-Id: Ib1d3ad189a78b71ecf5b01585478922e984c9568
HPE-bug-id: LUS-11368
Fixes:  23773b32bf ("LU-11444 ptlrpc: resend may corrupt the data")
Signed-off-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Signed-off-by: Gian-Carlo DeFazio <defazio1@llnl.gov>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52338
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
lustre/include/lustre_net.h
lustre/ptlrpc/service.c