22 lines
530 B
Go
22 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)
|
||
|
}
|