diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-03-29 07:48:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-29 07:48:05 -0700 |
commit | 83cea5d5bc6af51cd7df66a34c80af0080d37ba6 (patch) | |
tree | f5b839ed15640e4c96a3d31cca4a2185b28c1ca6 /libpod/runtime_volume_linux.go | |
parent | dd2bf915406444934e246fecf45e41937e2ff56f (diff) | |
parent | 1ae8a5b2858f43fc2f2b9640deae9dd945b52a98 (diff) | |
download | podman-83cea5d5bc6af51cd7df66a34c80af0080d37ba6.tar.gz podman-83cea5d5bc6af51cd7df66a34c80af0080d37ba6.tar.bz2 podman-83cea5d5bc6af51cd7df66a34c80af0080d37ba6.zip |
Merge pull request #2730 from giuseppe/userns-take-rid-of-intermediate-mountns
userns: do not use an intermediate mount namespace
Diffstat (limited to 'libpod/runtime_volume_linux.go')
-rw-r--r-- | libpod/runtime_volume_linux.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libpod/runtime_volume_linux.go b/libpod/runtime_volume_linux.go index 5767a99e7..db5c29242 100644 --- a/libpod/runtime_volume_linux.go +++ b/libpod/runtime_volume_linux.go @@ -51,10 +51,20 @@ func (r *Runtime) newVolume(ctx context.Context, options ...VolumeCreateOption) } // Create the mountpoint of this volume - fullVolPath := filepath.Join(r.config.VolumePath, volume.config.Name, "_data") - if err := os.MkdirAll(fullVolPath, 0755); err != nil { + volPathRoot := filepath.Join(r.config.VolumePath, volume.config.Name) + if err := os.MkdirAll(volPathRoot, 0700); err != nil { + return nil, errors.Wrapf(err, "error creating volume directory %q", volPathRoot) + } + if err := os.Chown(volPathRoot, volume.config.UID, volume.config.GID); err != nil { + return nil, errors.Wrapf(err, "error chowning volume directory %q to %d:%d", volPathRoot, volume.config.UID, volume.config.GID) + } + fullVolPath := filepath.Join(volPathRoot, "_data") + if err := os.Mkdir(fullVolPath, 0755); err != nil { return nil, errors.Wrapf(err, "error creating volume directory %q", fullVolPath) } + if err := os.Chown(fullVolPath, volume.config.UID, volume.config.GID); err != nil { + return nil, errors.Wrapf(err, "error chowning volume directory %q to %d:%d", fullVolPath, volume.config.UID, volume.config.GID) + } if err := LabelVolumePath(fullVolPath, true); err != nil { return nil, err } |