diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go index 7b24a1ec5..e31986c04 100644 --- a/weed/filesys/dir.go +++ b/weed/filesys/dir.go @@ -184,7 +184,8 @@ func (dir *Dir) Lookup(ctx context.Context, req *fuse.LookupRequest, resp *fuse. glog.V(3).Infof("dir Lookup cache miss %s", fullFilePath) entry, err = filer2.GetEntry(ctx, dir.wfs, fullFilePath) if err != nil { - return nil, err + glog.V(1).Infof("dir GetEntry %s: %v", fullFilePath, err) + return nil, fuse.ENOENT } if entry != nil { dir.wfs.listDirectoryEntriesCache.Set(fullFilePath, entry, 5*time.Minute) @@ -390,9 +391,6 @@ func (dir *Dir) maybeLoadEntry(ctx context.Context) error { if err != nil { return err } - if entry == nil { - return fuse.ENOENT - } dir.entry = entry } return nil diff --git a/weed/filesys/xattr.go b/weed/filesys/xattr.go index 3c0ba164a..23775cec9 100644 --- a/weed/filesys/xattr.go +++ b/weed/filesys/xattr.go @@ -125,15 +125,13 @@ func (wfs *WFS) maybeLoadEntry(ctx context.Context, dir, name string) (entry *fi } resp, err := client.LookupDirectoryEntry(ctx, request) - if err != nil { + if err != nil || resp == nil || resp.Entry == nil { glog.V(3).Infof("file attr read file %v: %v", request, err) return fuse.ENOENT } entry = resp.Entry - if entry != nil { - wfs.listDirectoryEntriesCache.Set(fullpath, entry, wfs.option.EntryCacheTtl) - } + wfs.listDirectoryEntriesCache.Set(fullpath, entry, wfs.option.EntryCacheTtl) return nil })