mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	This moves the platform specific stuff in a separate package and keeps the `volume` package and the defined interfaces light to import. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			956 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			956 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// +build !windows
 | 
						|
 | 
						|
package daemon // import "github.com/docker/docker/daemon"
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/docker/docker/container"
 | 
						|
	volumemounts "github.com/docker/docker/volume/mounts"
 | 
						|
)
 | 
						|
 | 
						|
// 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(container.OS)
 | 
						|
	for _, mnt := range container.MountPoints {
 | 
						|
		if toVolume = parser.HasResource(mnt, absPath); toVolume {
 | 
						|
			if mnt.RW {
 | 
						|
				break
 | 
						|
			}
 | 
						|
			return false, ErrVolumeReadonly
 | 
						|
		}
 | 
						|
	}
 | 
						|
	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
 | 
						|
}
 |