fs/torrentfs.go | 10 ++++------ fs/torrentfs_test.go | 6 ++++-- diff --git a/fs/torrentfs.go b/fs/torrentfs.go index aaaf1569e60833fd490edc0db96ff589b0c294bf..abe065126b6d73c782388e3dd0e50b3fb6b22d92 100644 --- a/fs/torrentfs.go +++ b/fs/torrentfs.go @@ -67,7 +67,7 @@ size uint64 TorrentOffset int64 } -func (fn fileNode) Attr() (attr fuse.Attr) { +func (fn fileNode) Attr(attr *fuse.Attr) { attr.Size = fn.size attr.Mode = defaultMode return @@ -232,7 +232,7 @@ } return } -func (dn dirNode) Attr() (attr fuse.Attr) { +func (dn dirNode) Attr(attr *fuse.Attr) { attr.Mode = os.ModeDir | defaultMode return } @@ -279,10 +279,8 @@ } return } -func (rootNode) Attr() fuse.Attr { - return fuse.Attr{ - Mode: os.ModeDir, - } +func (rootNode) Attr(attr *fuse.Attr) { + attr.Mode = os.ModeDir } // TODO(anacrolix): Why should rootNode implement this? diff --git a/fs/torrentfs_test.go b/fs/torrentfs_test.go index 7640dbb73abe7fe1e95563097d7ed9cff74dc7e1..b5b7c6378555ba291f99b333c38462918c2ddba8 100644 --- a/fs/torrentfs_test.go +++ b/fs/torrentfs_test.go @@ -230,12 +230,14 @@ fs := New(leecher) defer fs.Destroy() root, _ := fs.Root() node, _ := root.(fusefs.NodeStringLookuper).Lookup(context.Background(), "greeting") - size := int(node.Attr().Size) + var attr fuse.Attr + node.Attr(&attr) + size := attr.Size resp := &fuse.ReadResponse{ Data: make([]byte, size), } node.(fusefs.HandleReader).Read(context.Background(), &fuse.ReadRequest{ - Size: size, + Size: int(size), }, resp) content := resp.Data if string(content) != testutil.GreetingFileContents {