[LU-16983] check return code in mdc_enqueue_fini() prior mdc_fill_lvb() call Created: 25/Jul/23  Updated: 01/Aug/23  Resolved: 01/Aug/23

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.16.0

Type: Bug Priority: Minor
Reporter: Mikhail Pershin Assignee: Mikhail Pershin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Issue may occur with DoM files and between old server (prior 2.14) and new client. If mdc_enqueue_interpret() called from failed RPC processing with return code then mdc_enqueue_fini() calls mdc_fill_lvb() without check that rc >= 0 and assert is triggered like in calltrace below:

[35945.837773] LustreError: 1183270:0:(layout.c:2171:__req_capsule_get()) ASSERTION( msg != ((void *)0) ) failed: 
[35945.839817] LustreError: 1183270:0:(layout.c:2171:__req_capsule_get()) LBUG
[35945.839946] Lustre: lustre-MDT0000-mdc-ffff9566b57ce000: Connection restored to  (at 10.240.24.151@tcp)
[35945.841173] Pid: 1183270, comm: ptlrpcd_00_00 4.18.0-425.19.2.el8_7.x86_64 #1 SMP Tue Apr 4 22:38:11 UTC 2023
[35945.842969] Lustre: Skipped 1 previous similar message
[35945.844849] Call Trace TBD:
[35945.844995] [<0>] libcfs_call_trace+0x6f/0xa0 [libcfs]
[35945.847559] [<0>] lbug_with_loc+0x3f/0x70 [libcfs]
[35945.848538] [<0>] __req_capsule_get+0x6a0/0x770 [ptlrpc]
[35945.849943] [<0>] mdc_fill_lvb+0x15/0x100 [mdc]
[35945.850930] [<0>] mdc_enqueue_fini+0x7f/0x340 [mdc]
[35945.851925] [<0>] mdc_enqueue_interpret+0x134/0x2a0 [mdc]
[35945.853017] [<0>] ptlrpc_check_set+0x52e/0x2080 [ptlrpc]


 Comments   
Comment by Gerrit Updater [ 25/Jul/23 ]

"Mikhail Pershin <mpershin@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51761
Subject: LU-16983 mdc: check errcode prior mdc_fill_lvb() call
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: c422797b3949e0b3b7fac7164f03f01dfa6aca0b

Comment by Gerrit Updater [ 01/Aug/23 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51761/
Subject: LU-16983 mdc: check errcode prior mdc_fill_lvb() call
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 68a24acf757c5cfcc00ea1057cec4f09af278e73

Comment by Peter Jones [ 01/Aug/23 ]

Landed for 2.16

Generated at Sat Feb 10 03:31:37 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.