From 3639fedd0196ea8640bf3bed9084f29d5b71c2ab Mon Sep 17 00:00:00 2001 From: chrislu Date: Mon, 28 Feb 2022 00:34:17 -0800 Subject: [PATCH] mount: fix fsync opened and renamed files --- weed/mount/weedfs_file_sync.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/weed/mount/weedfs_file_sync.go b/weed/mount/weedfs_file_sync.go index 8fb7c73b4..4c6dda6eb 100644 --- a/weed/mount/weedfs_file_sync.go +++ b/weed/mount/weedfs_file_sync.go @@ -96,7 +96,7 @@ func (wfs *WFS) Fsync(cancel <-chan struct{}, in *fuse.FsyncIn) (code fuse.Statu func (wfs *WFS) doFlush(fh *FileHandle, uid, gid uint32) fuse.Status { // flush works at fh level fileFullPath := fh.FullPath() - dir, _ := fileFullPath.DirAndName() + dir, name := fileFullPath.DirAndName() // send the data to the OS glog.V(4).Infof("doFlush %s fh %d", fileFullPath, fh.handle) @@ -115,6 +115,7 @@ func (wfs *WFS) doFlush(fh *FileHandle, uid, gid uint32) fuse.Status { if entry == nil { return nil } + entry.Name = name // this flush may be just after a rename operation if entry.Attributes != nil { entry.Attributes.Mime = fh.contentType