From c3f9d9fa2edde613c8a00da7b1252fa524fd2a0d Mon Sep 17 00:00:00 2001 From: chrislu Date: Thu, 10 Feb 2022 20:32:13 -0800 Subject: initial setup --- weed/mount/weedfs.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 weed/mount/weedfs.go (limited to 'weed/mount') diff --git a/weed/mount/weedfs.go b/weed/mount/weedfs.go new file mode 100644 index 000000000..50c87a57f --- /dev/null +++ b/weed/mount/weedfs.go @@ -0,0 +1,32 @@ +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)) -- cgit v1.2.3