[LU-15456] deadlock in ll_new_node() when running racer Created: 18/Jan/22 Updated: 26/Jan/22 Resolved: 26/Jan/22 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.14.0, Lustre 2.15.0 |
| Fix Version/s: | Lustre 2.15.0 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Lai Siyao | Assignee: | Lai Siyao |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
ll_new_node() will call ll_dir_getstripe() to fetch parent default LMV if md_create() returns -EREMOTE, but it doesn't call ll_finish_md_op_data() to unlock lli_lsm_sem before ll_dir_getstripe(), which will cause deadlock because the ll_dir_getstripe() will lock lli_lsm_sem again. |
| Comments |
| Comment by Gerrit Updater [ 18/Jan/22 ] |
|
"Lai Siyao <lai.siyao@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46157 |
| Comment by Gerrit Updater [ 26/Jan/22 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/46157/ |
| Comment by Peter Jones [ 26/Jan/22 ] |
|
Landed for 2.15 |