mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
c78af57e21
It was only used in a single location, and the ErrVolumeReadonly was not checked
for, or used as a sentinel error.
This error was introduced in c32dde5baa
. It was
never used as a sentinel error, but from that commit, it looks like it was added
as a package variable to mirror already existing errors defined at the package
level.
This patch removes the exported variable, and replaces the error with an
errdefs.InvalidParameter(), so that the API also returns the correct (400)
status code.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
//go:build !windows
|
|
// +build !windows
|
|
|
|
package daemon // import "github.com/docker/docker/daemon"
|
|
|
|
import (
|
|
"github.com/docker/docker/container"
|
|
"github.com/docker/docker/errdefs"
|
|
volumemounts "github.com/docker/docker/volume/mounts"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
// checkIfPathIsInAVolume checks if the path is in a volume. If it is, it
|
|
// cannot be in a read-only volume. If it is not in a volume, the container
|
|
// cannot be configured with a read-only rootfs.
|
|
func checkIfPathIsInAVolume(container *container.Container, absPath string) (bool, error) {
|
|
var toVolume bool
|
|
parser := volumemounts.NewParser()
|
|
for _, mnt := range container.MountPoints {
|
|
if toVolume = parser.HasResource(mnt, absPath); toVolume {
|
|
if mnt.RW {
|
|
break
|
|
}
|
|
return false, errdefs.InvalidParameter(errors.New("mounted volume is marked read-only"))
|
|
}
|
|
}
|
|
return toVolume, nil
|
|
}
|
|
|
|
// isOnlineFSOperationPermitted returns an error if an online filesystem operation
|
|
// is not permitted.
|
|
func (daemon *Daemon) isOnlineFSOperationPermitted(container *container.Container) error {
|
|
return nil
|
|
}
|