Add unpack strategy to SnapshotStore#274
Merged
crosbymichael merged 1 commit intoapple:mainfrom Jul 1, 2025
Merged
Conversation
Signed-off-by: Aditya Ramani <a_ramani@apple.com>
jglogan
reviewed
Jul 1, 2025
| guard platform.os == "linux" else { | ||
| return nil | ||
| } | ||
| var minBlockSize = 512.gib() |
Contributor
There was a problem hiding this comment.
Is this a disk/filesystem size, or a block size? Is the blockSizeInBytes parameter to EXT4Unpacker a bit misleading?
jglogan
approved these changes
Jul 1, 2025
| } | ||
| var minBlockSize = 512.gib() | ||
| if image.reference == ClientDefaults.get(key: .defaultInitImage) { | ||
| minBlockSize = 512.mib() |
Contributor
There was a problem hiding this comment.
Let's see if we can move this to a UserDefault in a followup so that end users can customize this size.
crosbymichael
approved these changes
Jul 1, 2025
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Define a
UnpackStrategyfunction type in theSnapshotStoreto give more control over how an image is unpacked.Previously, we were creating a 512 GB sparse block file for the initial file system of a container, which is overkill.
With this change, the vminit image is unpacked to a smaller block file, while container images are unpacked to the 512 GB block
Follows the same pattern as https://github.com/apple/container/blob/main/Sources/Helpers/RuntimeLinux/RuntimeLinuxHelper.swift#L71