c8d: mark stargz as requiring reference-counted mounts#45781
c8d: mark stargz as requiring reference-counted mounts#45781thaJeztah merged 1 commit intomoby:masterfrom
Conversation
The stargz snapshotter cannot be re-mounted, so the reference-counted path must be used. Co-authored-by: Djordje Lukic <djordje.lukic@docker.com> Signed-off-by: Bjorn Neergaard <bjorn.neergaard@docker.com>
|
|
||
| // List of known filesystems that can't be re-mounted or have shared layers | ||
| var refCountedFileSystems = []string{"overlayfs", "zfs", "fuse-overlayfs"} | ||
| var refCountedFileSystems = []string{"fuse-overlayfs", "overlayfs", "stargz", "zfs"} |
There was a problem hiding this comment.
Perhaps we need a tracking ticket for this hard-coded list;
- is this information that the snapshotter itself could provide?
- If we must hard-code, do we need to add more snapshotters to this list?
There was a problem hiding this comment.
I also wonder if we should just go the route of only using the refcounted method, myself.
There was a problem hiding this comment.
Good one; perhaps yes. Can you create a tracking ticket for further discussion? (or a draft PR that removes it, which could also help with the discussion)
There was a problem hiding this comment.
Going with the refcount in all cases seems good to me too.
Also, If re-mount not being supported is a norm, rather than exception, we could go with the reverse - disabling ref counting only for snapshotters that are known to support re-mount and have been tested.
There was a problem hiding this comment.
Yeah, these are the kind of things I'd love to either see centralised (in containerd library code), or to have an API to request the information from the snapshotter (or some other way to feature-detect). Especially because the list of possible snapshotters is "unlimited", so we can't really make any assumptions beyond the ones we happen to know of.
but perhaps @kzys and @AkihiroSuda have thoughts on that as well
There was a problem hiding this comment.
Yes, this information should be exposed to the plugin API for containerd v2.0.
We can just use the hard-coded list for existing containerd releases.
There was a problem hiding this comment.
|
@vvoland @AkihiroSuda ptal 🤗 |
|
thanks! let me bring this one in 👍 |
- What I did
The stargz snapshotter cannot be re-mounted, so the reference-counted path must be used.
- How to verify it
docker cpwith the stargz snapshotter.