DAOS-13938 dfuse: adjust offset in readdir cache entry list #15213
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The dfuse readdir caching feature stats entries returned by dfs readdir that might be legimitely deleted by another process or another node. When this happens, the dfuse code decides to skip the deleted entry, but might leave the readdir entry cache in an inconsistent state causing the following assertion failure in dfuse_dre_drop():
drc->drc_next_offset == expected_offset + 1 || drc->drc_next_offset == READDIR_EOD
This patch fixes the offset in the linked list of cached readdir entries to support skipped entries.
Change-Id: Icbd5abb648110559851002301e758128e4ced2c7
Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: