1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package mount // import "github.com/docker/docker/pkg/mount"
- // MakeShared ensures a mounted filesystem has the SHARED mount option enabled.
- // See the supported options in flags.go for further reference.
- func MakeShared(mountPoint string) error {
- return ensureMountedAs(mountPoint, SHARED)
- }
- // MakeRShared ensures a mounted filesystem has the RSHARED mount option enabled.
- // See the supported options in flags.go for further reference.
- func MakeRShared(mountPoint string) error {
- return ensureMountedAs(mountPoint, RSHARED)
- }
- // MakePrivate ensures a mounted filesystem has the PRIVATE mount option enabled.
- // See the supported options in flags.go for further reference.
- func MakePrivate(mountPoint string) error {
- return ensureMountedAs(mountPoint, PRIVATE)
- }
- // MakeRPrivate ensures a mounted filesystem has the RPRIVATE mount option
- // enabled. See the supported options in flags.go for further reference.
- func MakeRPrivate(mountPoint string) error {
- return ensureMountedAs(mountPoint, RPRIVATE)
- }
- // MakeSlave ensures a mounted filesystem has the SLAVE mount option enabled.
- // See the supported options in flags.go for further reference.
- func MakeSlave(mountPoint string) error {
- return ensureMountedAs(mountPoint, SLAVE)
- }
- // MakeRSlave ensures a mounted filesystem has the RSLAVE mount option enabled.
- // See the supported options in flags.go for further reference.
- func MakeRSlave(mountPoint string) error {
- return ensureMountedAs(mountPoint, RSLAVE)
- }
- // MakeUnbindable ensures a mounted filesystem has the UNBINDABLE mount option
- // enabled. See the supported options in flags.go for further reference.
- func MakeUnbindable(mountPoint string) error {
- return ensureMountedAs(mountPoint, UNBINDABLE)
- }
- // MakeRUnbindable ensures a mounted filesystem has the RUNBINDABLE mount
- // option enabled. See the supported options in flags.go for further reference.
- func MakeRUnbindable(mountPoint string) error {
- return ensureMountedAs(mountPoint, RUNBINDABLE)
- }
- // MakeMount ensures that the file or directory given is a mount point,
- // bind mounting it to itself it case it is not.
- func MakeMount(mnt string) error {
- mounted, err := Mounted(mnt)
- if err != nil {
- return err
- }
- if mounted {
- return nil
- }
- return mount(mnt, mnt, "none", uintptr(BIND), "")
- }
- func ensureMountedAs(mnt string, flags int) error {
- if err := MakeMount(mnt); err != nil {
- return err
- }
- return mount("", mnt, "none", uintptr(flags), "")
- }
|