aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filesys/dir.go6
-rw-r--r--weed/filesys/file.go5
2 files changed, 8 insertions, 3 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index 8f1bc72a7..ad37d9ce0 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -41,10 +41,12 @@ func (dir *Dir) Attr(ctx context.Context, attr *fuse.Attr) error {
}
item := dir.wfs.listDirectoryEntriesCache.Get(dir.Path)
+ var entry *filer_pb.Entry
if item != nil && !item.Expired() {
+ entry = item.Value().(*filer_pb.Entry)
+ }
- glog.V(4).Infof("dir Attr cache hit %s", dir.Path)
-
+ if entry != nil {
entry := item.Value().(*filer_pb.Entry)
attr.Mtime = time.Unix(entry.Attributes.Mtime, 0)
diff --git a/weed/filesys/file.go b/weed/filesys/file.go
index d78895615..0a0090e3d 100644
--- a/weed/filesys/file.go
+++ b/weed/filesys/file.go
@@ -141,11 +141,14 @@ func (file *File) Fsync(ctx context.Context, req *fuse.FsyncRequest) error {
func (file *File) maybeLoadAttributes(ctx context.Context) error {
if file.entry == nil || !file.isOpen {
item := file.wfs.listDirectoryEntriesCache.Get(file.fullpath())
+ var entry *filer_pb.Entry
if item != nil && !item.Expired() {
+ entry = item.Value().(*filer_pb.Entry)
+ }
+ if entry != nil {
glog.V(4).Infof("file read attr cache hit %s", file.fullpath())
- entry := item.Value().(*filer_pb.Entry)
file.setEntry(entry)
// glog.V(1).Infof("file attr read cached %v attributes", file.Name)
} else {