Fix refs ignoring gc labels of contents #2674
Merged
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.
Following-up #2603
Though compression variants are linked using gc labels, they can be ignored and garbage collected because the lease of each ref has a lable
containerd.io/gc.flat
which ignores the label references of the leased blob.This commit fixes this issue by introducing a new lease for compression variants. This lease doesn't have
containerd.io/gc.flat
label to allow label references.Reproducing issue:
sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0
can be garbage collected.