seaweedfs/weed/mount/weedfs.go

33 lines
608 B
Go
Raw Normal View History

2022-02-11 04:32:13 +00:00
package mount
import (
"context"
"syscall"
"github.com/hanwen/go-fuse/v2/fs"
"github.com/hanwen/go-fuse/v2/fuse"
)
type WeedFS struct {
fs.Inode
}
func (r *WeedFS) OnAdd(ctx context.Context) {
ch := r.NewPersistentInode(
ctx, &fs.MemRegularFile{
Data: []byte("file.txt"),
Attr: fuse.Attr{
Mode: 0644,
},
}, fs.StableAttr{Ino: 2})
r.AddChild("file.txt", ch, false)
}
func (r *WeedFS) Getattr(ctx context.Context, fh fs.FileHandle, out *fuse.AttrOut) syscall.Errno {
out.Mode = 0755
return 0
}
var _ = (fs.NodeGetattrer)((*WeedFS)(nil))
var _ = (fs.NodeOnAdder)((*WeedFS)(nil))