mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-02 07:07:33 -04:00
unix: add MoveMount syscall on linux
This syscall is not yet described in linux man pages (https://github.com/mkerrisk/man-pages.git), but it was submitted to lkml https://lwn.net/Articles/802095/ This syscall appeared in linux v5.2. Change-Id: I0708bfceda8d7a7608d0d0e75e36c3d81302dedb Reviewed-on: https://go-review.googlesource.com/c/sys/+/397095 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Ian Lance Taylor <iant@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
This commit is contained in:
committed by
Gopher Robot
parent
1e041c57c4
commit
289d7a0edf
@@ -905,6 +905,14 @@ const (
|
|||||||
|
|
||||||
OPEN_TREE_CLONE = C.OPEN_TREE_CLONE
|
OPEN_TREE_CLONE = C.OPEN_TREE_CLONE
|
||||||
OPEN_TREE_CLOEXEC = C.OPEN_TREE_CLOEXEC
|
OPEN_TREE_CLOEXEC = C.OPEN_TREE_CLOEXEC
|
||||||
|
|
||||||
|
MOVE_MOUNT_F_SYMLINKS = C.MOVE_MOUNT_F_SYMLINKS
|
||||||
|
MOVE_MOUNT_F_AUTOMOUNTS = C.MOVE_MOUNT_F_AUTOMOUNTS
|
||||||
|
MOVE_MOUNT_F_EMPTY_PATH = C.MOVE_MOUNT_F_EMPTY_PATH
|
||||||
|
MOVE_MOUNT_T_SYMLINKS = C.MOVE_MOUNT_T_SYMLINKS
|
||||||
|
MOVE_MOUNT_T_AUTOMOUNTS = C.MOVE_MOUNT_T_AUTOMOUNTS
|
||||||
|
MOVE_MOUNT_T_EMPTY_PATH = C.MOVE_MOUNT_T_EMPTY_PATH
|
||||||
|
MOVE_MOUNT_SET_GROUP = C.MOVE_MOUNT_SET_GROUP
|
||||||
)
|
)
|
||||||
|
|
||||||
type OpenHow C.struct_open_how
|
type OpenHow C.struct_open_how
|
||||||
|
|||||||
@@ -1859,6 +1859,7 @@ func Getpgrp() (pid int) {
|
|||||||
//sys MemfdCreate(name string, flags int) (fd int, err error)
|
//sys MemfdCreate(name string, flags int) (fd int, err error)
|
||||||
//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
|
//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
|
||||||
//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
|
//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
|
||||||
|
//sys MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error)
|
||||||
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
||||||
//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
|
//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
|
||||||
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
|
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
|
||||||
|
|||||||
@@ -1205,6 +1205,26 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
|
|||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error) {
|
||||||
|
var _p0 *byte
|
||||||
|
_p0, err = BytePtrFromString(fromPathName)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var _p1 *byte
|
||||||
|
_p1, err = BytePtrFromString(toPathName)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, _, e1 := Syscall6(SYS_MOVE_MOUNT, uintptr(fromDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(toDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
|
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
|
||||||
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
|
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
|||||||
@@ -756,6 +756,14 @@ const (
|
|||||||
AT_EACCESS = 0x200
|
AT_EACCESS = 0x200
|
||||||
|
|
||||||
OPEN_TREE_CLONE = 0x1
|
OPEN_TREE_CLONE = 0x1
|
||||||
|
|
||||||
|
MOVE_MOUNT_F_SYMLINKS = 0x1
|
||||||
|
MOVE_MOUNT_F_AUTOMOUNTS = 0x2
|
||||||
|
MOVE_MOUNT_F_EMPTY_PATH = 0x4
|
||||||
|
MOVE_MOUNT_T_SYMLINKS = 0x10
|
||||||
|
MOVE_MOUNT_T_AUTOMOUNTS = 0x20
|
||||||
|
MOVE_MOUNT_T_EMPTY_PATH = 0x40
|
||||||
|
MOVE_MOUNT_SET_GROUP = 0x100
|
||||||
)
|
)
|
||||||
|
|
||||||
type OpenHow struct {
|
type OpenHow struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user