From c936a12afad1632bbc9a3d72b4723ed86da81c33 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Thu, 23 Jan 2020 21:59:58 -0800 Subject: [PATCH] mount: update the file size so file Attr() can read if file Attr() during file writes, the OS, at least for Mac, may try to resend the data to write, which usually are empty. --- weed/filesys/filehandle.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/weed/filesys/filehandle.go b/weed/filesys/filehandle.go index c3f06ae8a..bee153cc5 100644 --- a/weed/filesys/filehandle.go +++ b/weed/filesys/filehandle.go @@ -102,6 +102,8 @@ func (fh *FileHandle) Write(ctx context.Context, req *fuse.WriteRequest, resp *f // write the request to volume servers + fh.f.entry.Attributes.FileSize = uint64(max(req.Offset+int64(len(req.Data)), int64(fh.f.entry.Attributes.FileSize))) + chunks, err := fh.dirtyPages.AddPage(ctx, req.Offset, req.Data) if err != nil { glog.Errorf("%+v/%v write fh %d: [%d,%d): %v", fh.f.dir.Path, fh.f.Name, fh.handle, req.Offset, req.Offset+int64(len(req.Data)), err)