diff options
| author | Jakob Unterwurzacher | 2026-02-24 21:18:13 +0100 |
|---|---|---|
| committer | Jakob Unterwurzacher | 2026-02-24 21:18:13 +0100 |
| commit | b15f00fb9b03cd2527e3835d68919def645ad3df (patch) | |
| tree | 3330eacb5c75d5a7148a0904f5dca97afb5beebc | |
| parent | d6242d99f4316783c7f4ff82850a46a0fa431b20 (diff) | |
freebsd: stub xattr functions
/proc/PID/fd does not exist on freebsd.
| -rw-r--r-- | internal/fusefrontend/node_xattr_freebsd.go | 55 |
1 files changed, 8 insertions, 47 deletions
diff --git a/internal/fusefrontend/node_xattr_freebsd.go b/internal/fusefrontend/node_xattr_freebsd.go index 770bb95..9698283 100644 --- a/internal/fusefrontend/node_xattr_freebsd.go +++ b/internal/fusefrontend/node_xattr_freebsd.go @@ -1,17 +1,11 @@ package fusefrontend import ( - "fmt" - "golang.org/x/sys/unix" - "github.com/hanwen/go-fuse/v2/fs" "github.com/hanwen/go-fuse/v2/fuse" - - "github.com/rfjakob/gocryptfs/v2/internal/syscallcompat" ) -// On FreeBSD, ENODATA is returned when an attribute is not found. const noSuchAttributeError = unix.ENOATTR func filterXattrSetFlags(flags int) int { @@ -19,54 +13,21 @@ func filterXattrSetFlags(flags int) int { } func (n *Node) getXAttr(cAttr string) (out []byte, errno unix.Errno) { - dirfd, cName, errno := n.prepareAtSyscallMyself() - if errno != 0 { - return - } - defer unix.Close(dirfd) - - procPath := fmt.Sprintf("/proc/self/fd/%d/%s", dirfd, cName) - cData, err := syscallcompat.Lgetxattr(procPath, cAttr) - if err != nil { - return nil, fs.ToErrno(err) - } - return cData, 0 + // TODO + return nil, unix.EOPNOTSUPP } func (n *Node) setXAttr(context *fuse.Context, cAttr string, cData []byte, flags uint32) (errno unix.Errno) { - dirfd, cName, errno := n.prepareAtSyscallMyself() - if errno != 0 { - return - } - defer unix.Close(dirfd) - - procPath := fmt.Sprintf("/proc/self/fd/%d/%s", dirfd, cName) - - return fs.ToErrno(syscallcompat.LsetxattrUser(procPath, cAttr, cData, int(flags), context)) + // TODO + return unix.EOPNOTSUPP } func (n *Node) removeXAttr(cAttr string) (errno unix.Errno) { - dirfd, cName, errno := n.prepareAtSyscallMyself() - if errno != 0 { - return - } - defer unix.Close(dirfd) - - procPath := fmt.Sprintf("/proc/self/fd/%d/%s", dirfd, cName) - return fs.ToErrno(unix.Lremovexattr(procPath, cAttr)) + // TODO + return unix.EOPNOTSUPP } func (n *Node) listXAttr() (out []string, errno unix.Errno) { - dirfd, cName, errno := n.prepareAtSyscallMyself() - if errno != 0 { - return - } - defer unix.Close(dirfd) - - procPath := fmt.Sprintf("/proc/self/fd/%d/%s", dirfd, cName) - cNames, err := syscallcompat.Llistxattr(procPath) - if err != nil { - return nil, fs.ToErrno(err) - } - return cNames, 0 + // TODO + return nil, unix.EOPNOTSUPP } |
