This repository has been archived by the owner on May 3, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 142
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CORTX-34042 - Fix load_extents logic in balloc module. (#2120)
Problem: In exiting code, decision about group is loaded or not is taken based on grp->bgi_extents pointer value. On restart if free fragment count = 0 then bgi_extents will remain NULL. Later when any fragment is freeup then corresponding entry in extent list and extent btree will be added by creating new extent using lext_create() api i.e le_is_alloc = true. The subsequent call to m0_balloc_load_extents() will find bgi_extents == NULL and try to load extent allocated using M0_ALLOC_ARR where le_is_alloc = false, but with same start/end values. This ends up in having overlapping entry in extent list and mismatch in fragment count in group info vs total entries in list. Solution: This is fixed by adding the separate flag to decide about group loaded vs not loaded status, and will avoid overlapping entries scenario mentioned above. Signed-off-by: Mukund Kanekar <mukund.kanekar@seagate.com>
- Loading branch information
1 parent
bfe5dfa
commit 90806ec
Showing
2 changed files
with
35 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters