do not read attributes when file is opened

This commit is contained in:
Chris Lu
2018-05-25 01:27:21 -07:00
parent 6d1bcd4b8c
commit ac66c133a5
3 changed files with 7 additions and 1 deletions

View File

@@ -23,13 +23,14 @@ type File struct {
dir *Dir
wfs *WFS
attributes *filer_pb.FuseAttributes
isOpen bool
}
func (file *File) Attr(context context.Context, attr *fuse.Attr) error {
fullPath := filepath.Join(file.dir.Path, file.Name)
if file.attributes == nil {
if file.attributes == nil || !file.isOpen {
item := file.wfs.listDirectoryEntriesCache.Get(fullPath)
if item != nil {
entry := item.Value().(*filer_pb.Entry)
@@ -80,6 +81,8 @@ func (file *File) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.Op
glog.V(3).Infof("%v file open %+v", fullPath, req)
file.isOpen = true
return &FileHandle{
f: file,
RequestId: req.Header.ID,