summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/syscallcompat/getdents_linux.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/syscallcompat/getdents_linux.go b/internal/syscallcompat/getdents_linux.go
index 6cfb033..2425326 100644
--- a/internal/syscallcompat/getdents_linux.go
+++ b/internal/syscallcompat/getdents_linux.go
@@ -42,6 +42,10 @@ func getdents(fd int) ([]fuse.DirEntry, error) {
}
continue
} else if err != nil {
+ if smartBuf.Len() > 0 {
+ tlog.Warn.Printf("warning: unix.Getdents returned errno %d in the middle of data", err.(syscall.Errno))
+ return nil, syscall.EIO
+ }
return nil, err
}
if n == 0 {