[LU-14069] OBD_FAIL_LDLM_CANCEL_BL_CB_RACE is buggy in ldlm_handle_cp_callback Created: 23/Oct/20 Updated: 03/Nov/20 Resolved: 29/Oct/20 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.14.0, Lustre 2.12.6 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Oleg Drokin | Assignee: | Oleg Drokin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||
| Severity: | 3 | ||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||
| Description |
|
There's this code in ldlm_handle_cp_callback: if (OBD_FAIL_CHECK(OBD_FAIL_LDLM_CANCEL_BL_CB_RACE)) {
long to = cfs_time_seconds(1);
ldlm_callback_reply(req, 0);
while (to > 0) {
schedule_timeout_interruptible(to);
if (ldlm_is_granted(lock) ||
ldlm_is_destroyed(lock))
break;
}
}
This looks like it was supposed to be a time-bound wait and indeed looking at when it was introduced (commit 022b1022, bz 11300) it has the to assigned from schedule_timeout. This got broken by commit adde80ff which is some squashed head commit and lost the to assignment. Not this seems to be breaking |
| Comments |
| Comment by Gerrit Updater [ 23/Oct/20 ] |
|
Oleg Drokin (green@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/40375 |
| Comment by Gerrit Updater [ 27/Oct/20 ] |
|
Oleg Drokin (green@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/40411 |
| Comment by Gerrit Updater [ 29/Oct/20 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/40375/ |
| Comment by Peter Jones [ 29/Oct/20 ] |
|
Landed for 2.14 |
| Comment by Gerrit Updater [ 03/Nov/20 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/40411/ |