vfs: add ELOOP error

This commit is contained in:
Nick Craig-Wood 2024-10-20 12:34:54 +01:00
parent 353bc3130e
commit c0339327be
4 changed files with 9 additions and 1 deletions

View File

@ -602,6 +602,8 @@ func translateError(err error) (errc int) {
return -fuse.ENOSYS
case vfs.EINVAL:
return -fuse.EINVAL
case vfs.ELOOP:
return -fuse.ELOOP
}
fs.Errorf(nil, "IO error: %v", err)
return -fuse.EIO

View File

@ -100,6 +100,8 @@ func translateError(err error) error {
return syscall.ENOSYS
case vfs.EINVAL:
return fuse.Errno(syscall.EINVAL)
case vfs.ELOOP:
return fuse.Errno(syscall.ELOOP)
}
fs.Errorf(nil, "IO error: %v", err)
return err

View File

@ -128,6 +128,8 @@ func translateError(err error) syscall.Errno {
return syscall.ENOSYS
case vfs.EINVAL:
return syscall.EINVAL
case vfs.ELOOP:
return syscall.ELOOP
}
fs.Errorf(nil, "IO error: %v", err)
return syscall.EIO

View File

@ -10,7 +10,7 @@ import (
// Error describes low level errors in a cross platform way.
type Error byte
// NB if changing errors translateError in cmd/mount/fs.go, cmd/cmount/fs.go
// NB if changing errors, update translateError in cmd/mount/fs.go, cmd/cmount/fs.go, cmd/mount2/fs.go
// Low level errors
const (
@ -20,6 +20,7 @@ const (
EBADF
EROFS
ENOSYS
ELOOP
)
// Errors which have exact counterparts in os
@ -38,6 +39,7 @@ var errorNames = []string{
EBADF: "Bad file descriptor",
EROFS: "Read only file system",
ENOSYS: "Function not implemented",
ELOOP: "Too many symbolic links",
}
// Error renders the error as a string