Implement btrfs usage#1871
Merged
stevvooe merged 1 commit intocontainerd:masterfrom Dec 5, 2017
Merged
Conversation
Implements btrfs usage using a double walking diff and counting the result. Walking gives the most accurate count and includes inode usage. Signed-off-by: Derek McGowan <[email protected]>
Member
|
LGTM |
Codecov Report
@@ Coverage Diff @@
## master #1871 +/- ##
==========================================
- Coverage 49.07% 48.87% -0.21%
==========================================
Files 86 86
Lines 8263 8332 +69
==========================================
+ Hits 4055 4072 +17
- Misses 3538 3586 +48
- Partials 670 674 +4
Continue to review full report at Codecov.
|
Member
|
LGTM |
Member
|
Doesnt it work for reflinked files? |
Member
No, this is going to overshoot the total usage. This change provides the upper limit of usage for snapshot, rather than trying to minimize, which could change on btrfs depending on construction order. |
AkihiroSuda
approved these changes
Dec 5, 2017
Member
AkihiroSuda
left a comment
There was a problem hiding this comment.
LGTM
cc @tonistiigi (for buildctl du)
Member
|
@AkihiroSuda Spoke with tonis and he is okay with this. |
Closed
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.
Implements btrfs usage using a double walking diff and counting the result. Walking gives the most accurate count and includes inode usage.
This is an alternative implementation to #1836 using our naive diff implementation instead of relying on btrfs quotas. The efficacy of btrfs quotas for filling in this usage has not been proven. There is still a use for quotas in implementing snapshot quotas in the future, but trusting the value is accurate and consistent on commit would require much more testing and research. The naive diff is slower but will always provide a consistent result.
Closes #1836