diff options
| author | Jakob Unterwurzacher | 2026-09-01 22:26:12 +0200 |
|---|---|---|
| committer | Jakob Unterwurzacher | 2026-09-01 22:38:37 +0200 |
| commit | c7f1fe301a43604cb2eb9d67f389563e8734016c (patch) | |
| tree | 70f4765be2107e81ff94f21885fcb9f770abab9c | |
| parent | 8ad75e1e2c18eb88cf1d2225270baadd8abe116f (diff) | |
fusefronted: fix mkdir log message on empty gocryptfs.diriv
Before:
$ mkdir asd
mkdir: cannot create directory ‘asd’: Operation not supported
Sep 01 22:24:15 brikett gocryptfs[185344]: go-fuse: can't convert error type: wanted 16 bytes, got 0
After:
$ mkdir asdasd
mkdir: cannot create directory ‘asdasd’: Input/output error
Sep 01 22:25:00 brikett gocryptfs[185784]: prepareAtSyscall: could not read gocryptfs.diriv: wanted 16 bytes, got 0
https://github.com/rfjakob/gocryptfs/issues/1033
| -rw-r--r-- | internal/fusefrontend/node_prepare_syscall.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/internal/fusefrontend/node_prepare_syscall.go b/internal/fusefrontend/node_prepare_syscall.go index 9021350..03194df 100644 --- a/internal/fusefrontend/node_prepare_syscall.go +++ b/internal/fusefrontend/node_prepare_syscall.go @@ -3,6 +3,7 @@ package fusefrontend import ( "syscall" + "github.com/rfjakob/gocryptfs/v2/internal/nametransform" "github.com/rfjakob/gocryptfs/v2/internal/tlog" "github.com/hanwen/go-fuse/v2/fs" @@ -73,8 +74,9 @@ func (n *Node) prepareAtSyscall(child string) (dirfd int, cName string, errno sy var err error iv, err = rn.nameTransform.ReadDirIVAt(dirfd) if err != nil { + tlog.Warn.Printf("prepareAtSyscall: could not read %s: %v", nametransform.DirIVFilename, err) syscall.Close(dirfd) - return -1, "", fs.ToErrno(err) + return -1, "", syscall.EIO } } rn.dirCache.Store(n, dirfd, iv) |
