aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2026-09-01 22:26:12 +0200
committerJakob Unterwurzacher2026-09-01 22:38:37 +0200
commitc7f1fe301a43604cb2eb9d67f389563e8734016c (patch)
tree70f4765be2107e81ff94f21885fcb9f770abab9c
parent8ad75e1e2c18eb88cf1d2225270baadd8abe116f (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.go4
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)