From 8ebb2147d9eff47da10054ede27c5e399617bc0b Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 26 Jun 2017 13:42:52 +0200 Subject: pkg/fileutil: port to darwin --- pkg/fileutil/fileutil.go | 14 -------------- pkg/fileutil/fileutil_linux.go | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 pkg/fileutil/fileutil_linux.go (limited to 'pkg') diff --git a/pkg/fileutil/fileutil.go b/pkg/fileutil/fileutil.go index dbc9366de..056eee50f 100644 --- a/pkg/fileutil/fileutil.go +++ b/pkg/fileutil/fileutil.go @@ -11,7 +11,6 @@ import ( "path/filepath" "strconv" "syscall" - "unsafe" ) // CopyFile atomically copies oldFile to newFile preserving permissions and modification time. @@ -106,16 +105,3 @@ func ProcessTempDir(where string) (string, error) { } return "", fmt.Errorf("too many live instances") } - -// UmountAll recurusively unmounts all mounts in dir. -func UmountAll(dir string) { - files, _ := ioutil.ReadDir(dir) - for _, f := range files { - name := filepath.Join(dir, f.Name()) - if f.IsDir() { - UmountAll(name) - } - fn := []byte(name + "\x00") - syscall.Syscall(syscall.SYS_UMOUNT2, uintptr(unsafe.Pointer(&fn[0])), syscall.MNT_FORCE, 0) - } -} diff --git a/pkg/fileutil/fileutil_linux.go b/pkg/fileutil/fileutil_linux.go new file mode 100644 index 000000000..217036256 --- /dev/null +++ b/pkg/fileutil/fileutil_linux.go @@ -0,0 +1,24 @@ +// Copyright 2017 syzkaller project authors. All rights reserved. +// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +package fileutil + +import ( + "io/ioutil" + "path/filepath" + "syscall" + "unsafe" +) + +// UmountAll recurusively unmounts all mounts in dir. +func UmountAll(dir string) { + files, _ := ioutil.ReadDir(dir) + for _, f := range files { + name := filepath.Join(dir, f.Name()) + if f.IsDir() { + UmountAll(name) + } + fn := []byte(name + "\x00") + syscall.Syscall(syscall.SYS_UMOUNT2, uintptr(unsafe.Pointer(&fn[0])), syscall.MNT_FORCE, 0) + } +} -- cgit mrf-deployment