new storage driver: fuse-overlayfs#40483
Conversation
2d3d08c to
a07824e
Compare
`fuse-overlayfs` provides rootless overlayfs functionality without depending on any kernel patch. Aside from rootless, `fuse-overlayfs` could be potentially used for eliminating `chown()` calls that happen in userns-remap mode, because `fuse-overlayfs` also provides shiftfs functionality. System requirements: * fuse-overlayfs needs to be installed. Tested with 0.7.6. * kernel >= 4.18 Unit test: `go test -exec sudo -v ./daemon/graphdriver/fuse-overlayfs` The implementation is based on Podman's `overlay` driver which supports both kernel-mode overlayfs and fuse-overlayfs in the single driver instance: https://github.com/containers/storage/blob/39a8d5ed/drivers/overlay/overlay.go However, Moby's implementation aims to decouple `fuse-overlayfs` driver from the kernel-mode driver (`overlay2`) for simplicity. Fix moby#40218 Signed-off-by: Akihiro Suda <[email protected]>
a07824e to
7418745
Compare
|
SGTM Even though we are moving to containerd, I think this is good to bring in. |
|
Agreed, I'm ok with moving this forward (did not review the code changes other than glancing over it) |
|
@cpuguy83 @tonistiigi @tiborvass PTAL? |
|
@dmcgowan @kolyshkin would you be able to have a look? |
|
@cpuguy83 @kolyshkin LGTY? |
|
So, I see that in https://github.com/containers/storage/ they use the same overlay driver for in-kernel mounting and fuse-overlayfs, by supplying one additional parameter to overlay driver (see for example https://github.com/containers/storage/blob/master/drivers/overlay/overlay.go#L952). Is this something we'd want to do here as well, or is a separate driver a better option? @AkihiroSuda @thaJeztah @dmcgowan |
|
Let's avoid mixing up different drivers |
|
LGTM then |
|
We got SGTM from @cpuguy83 and LGTM from myself, so I think @thaJeztah you can merge it now |
- What I did
Added a new storage driver:
fuse-overlayfs.fuse-overlayfsprovides rootless overlayfs functionality without depending on any kernel patch.Aside from rootless,
fuse-overlayfscould be potentially used for eliminatingchown()calls that happen in userns-remap mode, becausefuse-overlayfsalso provides shiftfs functionality.System requirements:
Fix #40218
- How I did it
The implementation is based on Podman's
overlaydriver which supports both kernel-mode overlayfs and fuse-overlayfs in the single driver instance:https://github.com/containers/storage/blob/39a8d5ed/drivers/overlay/overlay.go
However, Moby's implementation aims to decouple
fuse-overlayfsdriver from the kernel-mode driver (overlay2) for simplicity.- How to verify it
- Description for the changelog
new storage driver: fuse-overlayfs
- A picture of a cute animal (not mandatory but encouraged)
🐧