3c878aefe8
Mount is self contained and generic, it should be in pkg, to allow other pkg modules to use it. Docker-DCO-1.1-Signed-off-by: Paul Nasrat <pnasrat@gmail.com> (github: pnasrat)
21 lines
530 B
Go
21 lines
530 B
Go
package mount
|
|
|
|
import (
|
|
"syscall"
|
|
)
|
|
|
|
func mount(device, target, mType string, flag uintptr, data string) error {
|
|
if err := syscall.Mount(device, target, mType, flag, data); err != nil {
|
|
return err
|
|
}
|
|
|
|
// If we have a bind mount or remount, remount...
|
|
if flag&syscall.MS_BIND == syscall.MS_BIND && flag&syscall.MS_RDONLY == syscall.MS_RDONLY {
|
|
return syscall.Mount(device, target, mType, flag|syscall.MS_REMOUNT, data)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func unmount(target string, flag int) error {
|
|
return syscall.Unmount(target, flag)
|
|
}
|