aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-01-15 19:08:54 -0800
committerChris Lu <chris.lu@gmail.com>2020-01-15 19:08:54 -0800
commit230a0e4a333699f9622a418ee7e4f91befa00bfa (patch)
tree9da6d8c0308d19cd785ac5c7ed4222e30c9a2c4b
parente4b660699f0e49944c8e951cb552d215da29471f (diff)
downloadseaweedfs-230a0e4a333699f9622a418ee7e4f91befa00bfa.tar.xz
seaweedfs-230a0e4a333699f9622a418ee7e4f91befa00bfa.zip
filer: no entry if not found
-rw-r--r--weed/filesys/dir.go6
-rw-r--r--weed/filesys/xattr.go6
2 files changed, 4 insertions, 8 deletions
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
})