Skip to content

Use bind filer for mounts#1

Closed
gabriel-samfira wants to merge 1 commit intoTBBle:wcow_mount_layersfrom
gabriel-samfira:use-bind-filter
Closed

Use bind filer for mounts#1
gabriel-samfira wants to merge 1 commit intoTBBle:wcow_mount_layersfrom
gabriel-samfira:use-bind-filter

Conversation

@gabriel-samfira
Copy link
Copy Markdown

The bind filter supports bind-like mounts and volume mounts. It also allows us to have read-only mounts.

Signed-off-by: Gabriel Adrian Samfira gsamfira@cloudbasesolutions.com

The bind filter supports bind-like mounts and volume mounts. It also
allows us to have read-only mounts.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
@TBBle
Copy link
Copy Markdown
Owner

TBBle commented Nov 6, 2022

Oh wow, I missed this entirely. Sorry... Apparently I wasn't auto-subscribed to the PR? Weird, GitHub. I've subscribed now, so it should be visible in my notifications.

I haven't had a look at the code, but I do recall planning to look into whether the bindfilter API would let us fix up a bunch of annoying stuff here.

I also recall that maybe the bindfilter API also supported the layering of containers as an alternative to ActivateLayer, but the only reference to that was a note that "No one uses this" in hcsshim source or a PR.

So yeah, I need to not forget to look at this again, but I'm not really in a position to review this stuff now.

@gabriel-samfira
Copy link
Copy Markdown
Author

No worries! I know you are in the middle of a big move.

Using the bind filter removes all sorts of nasty hacks, including the read-only hack with the small sandbox vhdx. This can be used instead of both symlinks and SetVolumeMount, and removes a bunch of special cases. We don't yet care about the layering feature, and I am not sure if it was meant for this. But it does help local mounting a lot.

Next week I'll look into cleaning things up a bit, proposing some PRs against go-winio and digging deeper into buildkit and what needs to be changed to properly accommodate Windows.

If we can merge these two PRs in the following couple of months, that would be amazing. If you could rebase the PRs (whenever you get the chance), I could look into adding/fixing tests for them, and just proposing PRs like this one against your branch. Offload some work as you settle in after your move.

Thanks for all your work on this and having the patience since (checks notes) 2020!

@TBBle
Copy link
Copy Markdown
Owner

TBBle commented Aug 19, 2023

Since this work has actually all landed in upstream containerd, I'll close this so I can start cleaning up my old dev branches.

Thanks @gabriel-samfira for actually getting this all landed upstream.

@TBBle TBBle closed this Aug 19, 2023
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.

2 participants