diff options
| author | Sebastian Lackner | 2018-12-26 22:12:55 +0100 | 
|---|---|---|
| committer | rfjakob | 2018-12-27 15:16:00 +0100 | 
| commit | 1ced0b192e6abcb047af0b9f11dfaf63052598c4 (patch) | |
| tree | cb097a21ebc4af17c74cea1b4a35fcd91108741d | |
| parent | 5918884926bf7a4e77b922a2ce6f89e744935cb9 (diff) | |
fusefrontend: Don't treat Fchownat error as failure in Mkdir.
The directory was already created, so return success even if Fchownat fails.
The same error handling is already used if fs.args.PlaintextNames is false.
| -rw-r--r-- | internal/fusefrontend/fs_dir.go | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/internal/fusefrontend/fs_dir.go b/internal/fusefrontend/fs_dir.go index caf05e7..963a551 100644 --- a/internal/fusefrontend/fs_dir.go +++ b/internal/fusefrontend/fs_dir.go @@ -61,6 +61,9 @@ func (fs *FS) Mkdir(newPath string, mode uint32, context *fuse.Context) (code fu  	defer syscall.Close(dirfd)  	if fs.args.PlaintextNames {  		err = syscallcompat.Mkdirat(dirfd, cName, mode) +		if err != nil { +			return fuse.ToStatus(err) +		}  		// Set owner  		if fs.args.PreserveOwner {  			err = syscallcompat.Fchownat(dirfd, cName, int(context.Owner.Uid), @@ -69,7 +72,7 @@ func (fs *FS) Mkdir(newPath string, mode uint32, context *fuse.Context) (code fu  				tlog.Warn.Printf("Mkdir: Fchownat failed: %v", err)  			}  		} -		return fuse.ToStatus(err) +		return fuse.OK  	}  	// We need write and execute permissions to create gocryptfs.diriv | 
