Browse Source

filer: no entry if not found

pull/1189/head
Chris Lu 5 years ago
parent
commit
230a0e4a33
  1. 6
      weed/filesys/dir.go
  2. 4
      weed/filesys/xattr.go

6
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

4
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)
}
return nil
})

Loading…
Cancel
Save