Merge pull request #3763 from AkihiroSuda/disable-mknod00-in-userns
apply: use naive applier when running in UserNS
This commit is contained in:
commit
c59561a08e
@ -26,12 +26,18 @@ import (
|
|||||||
"github.com/containerd/containerd/archive"
|
"github.com/containerd/containerd/archive"
|
||||||
"github.com/containerd/containerd/errdefs"
|
"github.com/containerd/containerd/errdefs"
|
||||||
"github.com/containerd/containerd/mount"
|
"github.com/containerd/containerd/mount"
|
||||||
|
"github.com/opencontainers/runc/libcontainer/system"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
func apply(ctx context.Context, mounts []mount.Mount, r io.Reader) error {
|
func apply(ctx context.Context, mounts []mount.Mount, r io.Reader) error {
|
||||||
switch {
|
switch {
|
||||||
case len(mounts) == 1 && mounts[0].Type == "overlay":
|
case len(mounts) == 1 && mounts[0].Type == "overlay":
|
||||||
|
// OverlayConvertWhiteout (mknod c 0 0) doesn't work in userns.
|
||||||
|
// https://github.com/containerd/containerd/issues/3762
|
||||||
|
if system.RunningInUserNS() {
|
||||||
|
break
|
||||||
|
}
|
||||||
path, parents, err := getOverlayPath(mounts[0].Options)
|
path, parents, err := getOverlayPath(mounts[0].Options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errdefs.IsInvalidArgument(err) {
|
if errdefs.IsInvalidArgument(err) {
|
||||||
|
Loading…
Reference in New Issue
Block a user