[20.10 backport] rootless: overlay2: fix "createDirWithOverlayOpaque(...) ... input/output error"#42235
Merged
Merged
Conversation
Previously, `d.naiveDiff.ApplyDiff` was not used even when `useNaiveDiff()==true` Signed-off-by: Akihiro Suda <[email protected]> (cherry picked from commit dd97134) Signed-off-by: Akihiro Suda <[email protected]>
When running in userns, returns error (i.e. "use naive, not native") immediately. No substantial change to the logic. Signed-off-by: Akihiro Suda <[email protected]> (cherry picked from commit 67aa418) Signed-off-by: Akihiro Suda <[email protected]>
overlay2 no longer sets `archive.OverlayWhiteoutFormat` when running in UserNS, so we can remove the complicated logic in the archive package. Signed-off-by: Akihiro Suda <[email protected]> (cherry picked from commit 6322dfc) Signed-off-by: Akihiro Suda <[email protected]>
thaJeztah
marked this pull request as ready for review
April 1, 2021 12:06
tiborvass
approved these changes
Apr 1, 2021
Member
|
s390x and ppc64le failures are unrelated; we need to keep an eye on this one, which is flaky; |
|
Q: Just installed docker-ce 20.10.6 in Debian Buster. Until now I used fuse-overlayfs, because overlayfs without fuse didn't work. If this is now fixed in 20.10.6, what are the arguments and drawbacks moving on to overlayfs without fuse? |
Member
Author
|
kernel-mode overlayfs is faster and more robust than fuse-overlayfs. But Debian version of kernel-mode overlayfs seems still broken: #42302 . |
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.
Cherry-pick #42188
- What I did
Fix
createDirWithOverlayOpaque(...) ... input/output erroron rootless.Fix docker/for-linux#1055 (intermittent error, on Debian 10, kernel < 5.11)
Fix #42177 (100% reproducible error, on kernel >= 5.11)
Fix #42206
- How I did it
[bug fix] Commit 1:
overlay2: call d.naiveDiff.ApplyDiff when useNaiveDiff==truePreviously,
d.naiveDiff.ApplyDiffwas not used even whenuseNaiveDiff()==true[optimization] Commit 2:
overlay2: doesSupportNativeDiff: add fast path for usernsWhen running in userns, returns error (i.e. "use naive, not native") immediately.
No substantial change to the logic.
[clean up] Commit 3:
archive: do not use overlayWhiteoutConverter for UserNSoverlay2 no longer sets
archive.OverlayWhiteoutFormatwhen running in UserNS, so we can remove the complicated logic in the archive package.- How to verify it
$ docker --context=rootless pull python:3.9- Description for the changelog
rootless: overlay2: fix "createDirWithOverlayOpaque(...) ... input/output error"
- A picture of a cute animal (not mandatory but encouraged)
🐧