From b597baf488fa4449d41ac2b78d421751f65f909e Mon Sep 17 00:00:00 2001
From: chrislu <chris.lu@gmail.com>
Date: Sat, 16 Apr 2022 22:56:45 -0700
Subject: [PATCH] mount: set file write time correct to work well with rsync

fix https://github.com/chrislusf/seaweedfs/issues/2867
---
 weed/mount/weedfs_attr.go | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/weed/mount/weedfs_attr.go b/weed/mount/weedfs_attr.go
index 55a29542a..cb935d0e4 100644
--- a/weed/mount/weedfs_attr.go
+++ b/weed/mount/weedfs_attr.go
@@ -98,15 +98,14 @@ func (wfs *WFS) SetAttr(cancel <-chan struct{}, input *fuse.SetAttrIn, out *fuse
 		}
 	}
 
-	if mtime, ok := input.GetMTime(); ok {
-		entry.Attributes.Mtime = mtime.Unix()
-	}
-
 	if atime, ok := input.GetATime(); ok {
 		entry.Attributes.Mtime = atime.Unix()
 	}
 
-	entry.Attributes.Mtime = time.Now().Unix()
+	if mtime, ok := input.GetMTime(); ok {
+		entry.Attributes.Mtime = mtime.Unix()
+	}
+
 	out.AttrValid = 1
 	wfs.setAttrByPbEntry(&out.Attr, input.NodeId, entry)