aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/file.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2019-01-05 15:21:56 -0800
committerChris Lu <chris.lu@gmail.com>2019-01-05 15:21:56 -0800
commitfe50224ea0cdd665617a1e0c5dd434c874de0790 (patch)
treeb61f82c44092ef9381fa5cfe79fe1245c09b81ac /weed/filesys/file.go
parent67404276386ce4e8665587b7d9908c4b48ff0704 (diff)
downloadseaweedfs-fe50224ea0cdd665617a1e0c5dd434c874de0790.tar.xz
seaweedfs-fe50224ea0cdd665617a1e0c5dd434c874de0790.zip
refactoring
Diffstat (limited to 'weed/filesys/file.go')
-rw-r--r--weed/filesys/file.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/weed/filesys/file.go b/weed/filesys/file.go
index e27cdd42e..6c96ba4ed 100644
--- a/weed/filesys/file.go
+++ b/weed/filesys/file.go
@@ -139,8 +139,7 @@ func (file *File) maybeLoadAttributes(ctx context.Context) error {
item := file.wfs.listDirectoryEntriesCache.Get(file.fullpath())
if item != nil && !item.Expired() {
entry := item.Value().(*filer_pb.Entry)
- file.entry = entry
- file.entryViewCache = nil
+ file.setEntry(entry)
// glog.V(1).Infof("file attr read cached %v attributes", file.Name)
} else {
err := file.wfs.withFilerClient(func(client filer_pb.SeaweedFilerClient) error {
@@ -156,8 +155,7 @@ func (file *File) maybeLoadAttributes(ctx context.Context) error {
return fuse.ENOENT
}
- file.entry = resp.Entry
- file.entryViewCache = nil
+ file.setEntry(resp.Entry)
glog.V(3).Infof("file attr %v %+v: %d", file.fullpath(), file.entry.Attributes, filer2.TotalSize(file.entry.Chunks))
@@ -188,3 +186,8 @@ func (file *File) addChunks(chunks []*filer_pb.FileChunk) {
}
file.entryViewCache = filer2.NonOverlappingVisibleIntervals(file.entry.Chunks)
}
+
+func (file *File) setEntry(entry *filer_pb.Entry) {
+ file.entry = entry
+ file.entryViewCache = filer2.NonOverlappingVisibleIntervals(file.entry.Chunks)
+}