aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-12-17 00:20:00 -0800
committerChris Lu <chris.lu@gmail.com>2018-12-17 00:20:00 -0800
commit7b7f4215aafb69f0f5c52af4d6c8128b40857ec4 (patch)
treea010103068924dac2e910a261c19f3371efbee2f
parent6071be104b2c226aae9d9102f0cc63277b6a41fa (diff)
downloadseaweedfs-7b7f4215aafb69f0f5c52af4d6c8128b40857ec4.tar.xz
seaweedfs-7b7f4215aafb69f0f5c52af4d6c8128b40857ec4.zip
filer update existing entry
-rw-r--r--weed/server/filer_server_handlers_write.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go
index 394f32d88..416a7434c 100644
--- a/weed/server/filer_server_handlers_write.go
+++ b/weed/server/filer_server_handlers_write.go
@@ -187,11 +187,20 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) {
// update metadata in filer store
glog.V(4).Infoln("saving", path, "=>", fileId)
+ existingEntry, err := fs.filer.FindEntry(filer2.FullPath(path))
+ crTime := time.Now()
+ if err == nil && existingEntry != nil {
+ if existingEntry.IsDirectory() {
+ path += ret.Name
+ } else {
+ crTime = existingEntry.Crtime
+ }
+ }
entry := &filer2.Entry{
FullPath: filer2.FullPath(path),
Attr: filer2.Attr{
Mtime: time.Now(),
- Crtime: time.Now(),
+ Crtime: crTime,
Mode: 0660,
Uid: OS_UID,
Gid: OS_GID,