summaryrefslogtreecommitdiff
path: root/runtime/graphdriver/devmapper/sys.go
diff options
context:
space:
mode:
authorunclejack <unclejack@users.noreply.github.com>2014-04-09 01:56:01 +0300
committerunclejack <unclejack@users.noreply.github.com>2014-04-09 01:56:01 +0300
commite128a606e39fa63c6b4fd6e53a1d88cf00aad868 (patch)
tree199ee7eb6678ffecd2ddad95fce794c795ad5183 /runtime/graphdriver/devmapper/sys.go
parent143c9707a9fafc39e1d9747f528db97b2564f01e (diff)
parentdc9c28f51d669d6b09e81c2381f800f1a33bb659 (diff)
downloaddocker-0.10.1-hotfixes.tar.gz
Merge pull request #5079 from unclejack/bump_v0.10.0release-0.100.10.1-hotfixes
Bump version to v0.10.0
Diffstat (limited to 'runtime/graphdriver/devmapper/sys.go')
-rw-r--r--runtime/graphdriver/devmapper/sys.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/runtime/graphdriver/devmapper/sys.go b/runtime/graphdriver/devmapper/sys.go
new file mode 100644
index 0000000000..5a9ab4d74b
--- /dev/null
+++ b/runtime/graphdriver/devmapper/sys.go
@@ -0,0 +1,57 @@
+// +build linux,amd64
+
+package devmapper
+
+import (
+ "os"
+ "os/exec"
+ "syscall"
+)
+
+type (
+ sysStatT syscall.Stat_t
+ sysErrno syscall.Errno
+
+ osFile struct{ *os.File }
+)
+
+var (
+ sysMount = syscall.Mount
+ sysUnmount = syscall.Unmount
+ sysCloseOnExec = syscall.CloseOnExec
+ sysSyscall = syscall.Syscall
+
+ osOpenFile = func(name string, flag int, perm os.FileMode) (*osFile, error) {
+ f, err := os.OpenFile(name, flag, perm)
+ return &osFile{File: f}, err
+ }
+ osOpen = func(name string) (*osFile, error) { f, err := os.Open(name); return &osFile{File: f}, err }
+ osNewFile = os.NewFile
+ osCreate = os.Create
+ osStat = os.Stat
+ osIsNotExist = os.IsNotExist
+ osIsExist = os.IsExist
+ osMkdirAll = os.MkdirAll
+ osRemoveAll = os.RemoveAll
+ osRename = os.Rename
+ osReadlink = os.Readlink
+
+ execRun = func(name string, args ...string) error { return exec.Command(name, args...).Run() }
+)
+
+const (
+ sysMsMgcVal = syscall.MS_MGC_VAL
+ sysMsRdOnly = syscall.MS_RDONLY
+ sysEInval = syscall.EINVAL
+ sysSysIoctl = syscall.SYS_IOCTL
+ sysEBusy = syscall.EBUSY
+
+ osORdOnly = os.O_RDONLY
+ osORdWr = os.O_RDWR
+ osOCreate = os.O_CREATE
+ osModeDevice = os.ModeDevice
+)
+
+func toSysStatT(i interface{}) *sysStatT {
+ return (*sysStatT)(i.(*syscall.Stat_t))
+}