diff options
| author | Chris Lu <chris.lu@gmail.com> | 2018-09-22 00:11:46 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2018-09-22 00:11:46 -0700 |
| commit | 7bb62b9f21c92ad8c218eab236c136606fc7153a (patch) | |
| tree | 64dd12151ef2a335b85bea4e46d7bc4de5268503 /weed/filer2/filer.go | |
| parent | f905a1e779fdb9333f0fc08817cdbe33c261a25d (diff) | |
| download | seaweedfs-7bb62b9f21c92ad8c218eab236c136606fc7153a.tar.xz seaweedfs-7bb62b9f21c92ad8c218eab236c136606fc7153a.zip | |
delay file creation without chunks from dir.Create to file.Flush
Diffstat (limited to 'weed/filer2/filer.go')
| -rw-r--r-- | weed/filer2/filer.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/weed/filer2/filer.go b/weed/filer2/filer.go index a652e6480..2586c664c 100644 --- a/weed/filer2/filer.go +++ b/weed/filer2/filer.go @@ -121,8 +121,14 @@ func (f *Filer) CreateEntry(entry *Entry) error { oldEntry, _ := f.FindEntry(entry.FullPath) - if err := f.store.InsertEntry(entry); err != nil { - return fmt.Errorf("insert entry %s: %v", entry.FullPath, err) + if oldEntry == nil { + if err := f.store.InsertEntry(entry); err != nil { + return fmt.Errorf("insert entry %s: %v", entry.FullPath, err) + } + } else { + if err := f.store.UpdateEntry(entry); err != nil { + return fmt.Errorf("update entry %s: %v", entry.FullPath, err) + } } f.NotifyUpdateEvent(oldEntry, entry, true) |
