From 8184ec4b7048a10e312d9cbe2cc7e77df1600278 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Tue, 31 Oct 2017 15:33:08 +0000 Subject: [PATCH] vfs: add EPERM to errors --- cmd/cmount/fs.go | 2 ++ cmd/mount/fs.go | 4 +++- vfs/dir.go | 2 +- vfs/errors.go | 1 + vfs/file.go | 4 ++-- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cmd/cmount/fs.go b/cmd/cmount/fs.go index 59d8bcd2b..bcf1c6e11 100644 --- a/cmd/cmount/fs.go +++ b/cmd/cmount/fs.go @@ -640,6 +640,8 @@ func translateError(err error) (errc int) { return -fuse.EROFS case vfs.ENOSYS: return -fuse.ENOSYS + case vfs.EPERM: + return -fuse.EPERM } fs.Errorf(nil, "IO error: %v", err) return -fuse.EIO diff --git a/cmd/mount/fs.go b/cmd/mount/fs.go index 99bb55b5a..157e9f09a 100644 --- a/cmd/mount/fs.go +++ b/cmd/mount/fs.go @@ -85,7 +85,9 @@ func translateError(err error) error { case vfs.EROFS: return fuse.Errno(syscall.EROFS) case vfs.ENOSYS: - return fuse.Errno(syscall.ENOSYS) + return fuse.ENOSYS + case vfs.EPERM: + return fuse.EPERM } return err } diff --git a/vfs/dir.go b/vfs/dir.go index b2f71eb77..6072821f4 100644 --- a/vfs/dir.go +++ b/vfs/dir.go @@ -311,7 +311,7 @@ func (d *Dir) Open(flags int) (fd Handle, err error) { rdwrMode := flags & (os.O_RDONLY | os.O_WRONLY | os.O_RDWR) if rdwrMode != os.O_RDONLY { fs.Errorf(d, "Can only open directories read only") - return nil, os.ErrPermission + return nil, EPERM } return newDirHandle(d), nil } diff --git a/vfs/errors.go b/vfs/errors.go index 3d0813ebe..28e768682 100644 --- a/vfs/errors.go +++ b/vfs/errors.go @@ -26,6 +26,7 @@ const ( var ( ENOENT = os.ErrNotExist EEXIST = os.ErrExist + EPERM = os.ErrPermission ) var errorNames = []string{ diff --git a/vfs/file.go b/vfs/file.go index d7043428e..2e26b3b6e 100644 --- a/vfs/file.go +++ b/vfs/file.go @@ -298,10 +298,10 @@ func (f *File) Open(flags int) (fd Handle, err error) { read = false case rdwrMode == os.O_RDWR: fs.Errorf(f, "Can't open for Read and Write") - return nil, os.ErrPermission + return nil, EPERM default: fs.Errorf(f, "Can't figure out how to open with flags: 0x%X", flags) - return nil, os.ErrPermission + return nil, EPERM } if read { fd, err = f.OpenRead()