Fix for logio header that doesn't fit in one page due to chunk size #635
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.
Description
Avoids unexpected
unifyfs_mount()
failures for clients that customizeUNIFYFS_LOGIO_CHUNK_SIZE
.Motivation and Context
The current logio header uses a single page to hold its metadata, which includes the chunk slotmap. For large shmem or spill regions with small chunk sizes, it is possible that a page is not large enough to hold the whole slotmap, which causes client applications to fail during
unifyfs_mount()
.This PR allows for the logio header to grow to as many pages as necessary to hold the chunk slotmap for the given region and chunk size.
Types of changes
Checklist: