diff --git a/weed/filer2/filer_client_util.go b/weed/filer2/filer_client_util.go index cc5ca7d8e..ff20f06c2 100644 --- a/weed/filer2/filer_client_util.go +++ b/weed/filer2/filer_client_util.go @@ -112,11 +112,12 @@ func GetEntry(ctx context.Context, filerClient FilerClient, fullFilePath string) return err } - if resp.Entry != nil { - entry = resp.Entry + if resp.Entry == nil { glog.V(3).Infof("read %s entry: %v", fullFilePath, entry) + return nil } + entry = resp.Entry return nil }) diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go index 79cf45385..7c86473cd 100644 --- a/weed/filesys/dir.go +++ b/weed/filesys/dir.go @@ -56,6 +56,9 @@ func (dir *Dir) Attr(ctx context.Context, attr *fuse.Attr) error { glog.V(2).Infof("read dir %s attr: %v, error: %v", dir.Path, dir.attributes, err) return err } + if entry == nil { + return fuse.ENOENT + } dir.attributes = entry.Attributes glog.V(2).Infof("dir %s: %v perm: %v", dir.Path, dir.attributes, os.FileMode(dir.attributes.FileMode))