diff --git a/weed/mount/weedfs_link.go b/weed/mount/weedfs_link.go index 28c0ab3a77..49c8053be1 100644 --- a/weed/mount/weedfs_link.go +++ b/weed/mount/weedfs_link.go @@ -255,6 +255,9 @@ func (fh *FileHandle) adoptLinkChangeLocked(stored *filer_pb.Entry, versionTsNs fh.UpdateEntry(func(entry *filer_pb.Entry) { entry.Name = linked.Name entry.HardLinkId, entry.HardLinkCounter = linked.HardLinkId, linked.HardLinkCounter + if a, b := entry.Attributes, linked.Attributes; a != nil && b != nil && (b.Ctime > a.Ctime || b.Ctime == a.Ctime && b.CtimeNs > a.CtimeNs) { + a.Ctime, a.CtimeNs = b.Ctime, b.CtimeNs + } }) } else { fh.SetEntry(proto.Clone(linked).(*filer_pb.Entry))