mirror of
https://github.com/restic/restic.git
synced 2024-08-24 21:27:23 +02:00
28 lines
745 B
Go
28 lines
745 B
Go
//go:build darwin || freebsd || linux
|
|
// +build darwin freebsd linux
|
|
|
|
package fuse
|
|
|
|
import (
|
|
"github.com/anacrolix/fuse"
|
|
"github.com/restic/restic/internal/debug"
|
|
"github.com/restic/restic/internal/restic"
|
|
)
|
|
|
|
func nodeToXattrList(node *restic.Node, req *fuse.ListxattrRequest, resp *fuse.ListxattrResponse) {
|
|
debug.Log("Listxattr(%v, %v)", node.Name, req.Size)
|
|
for _, attr := range node.ExtendedAttributes {
|
|
resp.Append(attr.Name)
|
|
}
|
|
}
|
|
|
|
func nodeGetXattr(node *restic.Node, req *fuse.GetxattrRequest, resp *fuse.GetxattrResponse) error {
|
|
debug.Log("Getxattr(%v, %v, %v)", node.Name, req.Name, req.Size)
|
|
attrval := node.GetExtendedAttribute(req.Name)
|
|
if attrval != nil {
|
|
resp.Xattr = attrval
|
|
return nil
|
|
}
|
|
return fuse.ErrNoXattr
|
|
}
|