diff options
author | Jakob Unterwurzacher | 2016-07-03 20:17:40 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-07-03 20:17:40 +0200 |
commit | d8524c73696392c7e895e6b3fe4c7e120d7296f7 (patch) | |
tree | fa071f1ffb9946bfdd152c2ab7c5e9496b3ea52e /internal/fusefrontend/fs_dir.go | |
parent | 1d7728959c2120cd9bc0f1280cbdd1daccaa497c (diff) |
syscallcompat: OSX: add Unlinkat wrapper
Also, replace remaining naked syscall.Openat calls.
Diffstat (limited to 'internal/fusefrontend/fs_dir.go')
-rw-r--r-- | internal/fusefrontend/fs_dir.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/internal/fusefrontend/fs_dir.go b/internal/fusefrontend/fs_dir.go index 699ec7b..ab97932 100644 --- a/internal/fusefrontend/fs_dir.go +++ b/internal/fusefrontend/fs_dir.go @@ -114,7 +114,7 @@ func (fs *FS) Rmdir(path string, context *fuse.Context) (code fuse.Status) { defer parentDirFd.Close() cName := filepath.Base(cPath) - dirfdRaw, err := syscall.Openat(int(parentDirFd.Fd()), cName, + dirfdRaw, err := syscallcompat.Openat(int(parentDirFd.Fd()), cName, syscall.O_RDONLY, 0) if err == syscall.EACCES { // We need permission to read and modify the directory @@ -136,7 +136,7 @@ func (fs *FS) Rmdir(path string, context *fuse.Context) (code fuse.Status) { // Retry open var st syscall.Stat_t syscall.Lstat(cPath, &st) - dirfdRaw, err = syscall.Openat(int(parentDirFd.Fd()), cName, + dirfdRaw, err = syscallcompat.Openat(int(parentDirFd.Fd()), cName, syscall.O_RDONLY, 0) // Undo the chmod if removing the directory failed defer func() { @@ -191,7 +191,7 @@ func (fs *FS) Rmdir(path string, context *fuse.Context) (code fuse.Status) { return fuse.ToStatus(err) } // Delete "gocryptfs.diriv.rmdir.XYZ" - err = syscall.Unlinkat(int(parentDirFd.Fd()), tmpName) + err = syscallcompat.Unlinkat(int(parentDirFd.Fd()), tmpName) if err != nil { tlog.Warn.Printf("Rmdir: Could not clean up %s: %v", tmpName, err) } |