From 1adc8f86ea66fdc78d148b0a4e848c59a9ce4f86 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Wed, 14 Apr 2021 20:49:15 -0700 Subject: lighten up File object file.entry only exists when file.isOpen --- weed/filesys/dir_link.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'weed/filesys/dir_link.go') diff --git a/weed/filesys/dir_link.go b/weed/filesys/dir_link.go index 6266e492d..de330e7a4 100644 --- a/weed/filesys/dir_link.go +++ b/weed/filesys/dir_link.go @@ -35,11 +35,11 @@ func (dir *Dir) Link(ctx context.Context, req *fuse.LinkRequest, old fs.Node) (f glog.V(4).Infof("Link: %v/%v -> %v/%v", oldFile.dir.FullPath(), oldFile.Name, dir.FullPath(), req.NewName) - if _, err := oldFile.maybeLoadEntry(ctx); err != nil { + oldEntry, err := oldFile.maybeLoadEntry(ctx) + if err != nil { return nil, err } - oldEntry := oldFile.getEntry() if oldEntry == nil { return nil, fuse.EIO } @@ -72,7 +72,7 @@ func (dir *Dir) Link(ctx context.Context, req *fuse.LinkRequest, old fs.Node) (f } // apply changes to the filer, and also apply to local metaCache - err := dir.wfs.WithFilerClient(func(client filer_pb.SeaweedFilerClient) error { + err = dir.wfs.WithFilerClient(func(client filer_pb.SeaweedFilerClient) error { dir.wfs.mapPbIdFromLocalToFiler(request.Entry) defer dir.wfs.mapPbIdFromFilerToLocal(request.Entry) @@ -97,11 +97,8 @@ func (dir *Dir) Link(ctx context.Context, req *fuse.LinkRequest, old fs.Node) (f } // create new file node - newNode := dir.newFile(req.NewName, request.Entry) + newNode := dir.newFile(req.NewName) newFile := newNode.(*File) - if _, err := newFile.maybeLoadEntry(ctx); err != nil { - return nil, err - } return newFile, err @@ -147,7 +144,7 @@ func (dir *Dir) Symlink(ctx context.Context, req *fuse.SymlinkRequest) (fs.Node, return nil }) - symlink := dir.newFile(req.NewName, request.Entry) + symlink := dir.newFile(req.NewName) return symlink, err -- cgit v1.2.3