Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Fix releasing reference on deletion error#20513

Merged
calavera merged 1 commit into
moby:mastermoby/moby:masterfrom
tonistiigi:retake-reftonistiigi/docker:retake-refCopy head branch name to clipboard
Feb 19, 2016
Merged

Fix releasing reference on deletion error#20513
calavera merged 1 commit into
moby:mastermoby/moby:masterfrom
tonistiigi:retake-reftonistiigi/docker:retake-refCopy head branch name to clipboard

Conversation

@tonistiigi

Copy link
Copy Markdown
Member

Fixes #20268

This retakes a reference to a mounted layer if the deletion failed on graphdriver level. This does not completely fix deletion of containers with busy mounts but should make sure that they can be deleted once they are manually unmounted. When deletion fails then things can still be left in unknown state.

ping @dmcgowan

Signed-off-by: Tonis Tiigi tonistiigi@gmail.com

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
@cpuguy83

Copy link
Copy Markdown
Member

LGTM

@vdemeester

Copy link
Copy Markdown
Member

LGTM 🐰

@tiborvass

Copy link
Copy Markdown
Contributor

I want to make sure @dmcgowan and/or @aaronlehmann can have a look before merging

@dmcgowan

Copy link
Copy Markdown
Member

LGTM

calavera added a commit that referenced this pull request Feb 19, 2016
Fix releasing reference on deletion error
@calavera
calavera merged commit e51457e into moby:master Feb 19, 2016
@calavera
calavera deleted the retake-ref branch February 19, 2016 21:25
@tiborvass tiborvass mentioned this pull request Feb 20, 2016
@crwd-mivanov

Copy link
Copy Markdown

Does it mean that I can't do dmsetup remove manually anymore once I identified and eliminated reason of leak which prevented layer deletion in the first place?

Will docker attempt to delete layer by itself once all references, but reacquired one by docker again is gone?

@tonistiigi

Copy link
Copy Markdown
Member Author

@crwd-mivanov No, this should restore 1.9.1 behavior. References are for internal counting of code paths using a layer. They are mostly used for readonly layers that can be used by multiple images. Docker will not detect changes from the other processes and will not try to auto-delete. If you clear the problem you will just be able to run docker rm again. Previously active mount confused the internal reference count.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Driver overlay failed to remove root filesystem: layer not retained since 1.10.0

8 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.