[LU-17297] tgt_grant_sanity_check()) ofd_obd_disconnect: tot_granted 0 != fo_tot_granted 8388608 during recovery Created: 17/Nov/23 Updated: 17/Nov/23 |
|
| Status: | Open |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Vladimir Saveliev | Assignee: | WC Triage |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
When stale client is evicted on expired recovery - class_disconnect_stale_exports() first moves the export out from obd->obd_exports list:
class_disconnect_stale_exports
list_for_each_entry_safe(exp, n, &obd->obd_exports, exp_obd_chain) {
list_move(&exp->exp_obd_chain, &work_list);
Then tgt_grant_sanity_check is callled:
class_disconnect_stale_exports
class_disconnect_export_list
obd_disconnect
ofd_obd_disconnect (or mdt_obd_disconnect)
tgt_grant_sanity_check
which iterates obd->obd_exports and obd->obd_unlinked_exports lists to sum grant counters: tot_dirty, tot_pending, tot_granted. As the export being disconnected is neither on obd->obd_exports nor on obd->obd_unlinked_exports - the total grant counters mismatch with something like: [128451.745573] LustreError: 182349:0:(tgt_grant.c:257:tgt_grant_sanity_check()) ofd_obd_disconnect: tot_granted 0 != fo_tot_granted 8388608 |
| Comments |
| Comment by Gerrit Updater [ 17/Nov/23 ] |
|
"Vladimir Saveliev <vladimir.saveliev@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/53171 |