aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-10-15 11:08:45 -0700
committerChris Lu <chris.lu@gmail.com>2020-10-15 11:08:45 -0700
commit06e63410975077b54ae8e7cd49ac2b33c308ec46 (patch)
tree4a212e91a7864ef308acfa4b17355b95a39b795e
parentd598c471361c55d8ff1fc169c95797f3dd6ce695 (diff)
downloadseaweedfs-06e63410975077b54ae8e7cd49ac2b33c308ec46.tar.xz
seaweedfs-06e63410975077b54ae8e7cd49ac2b33c308ec46.zip
set initial write time to avoid race condition with delayed chunks
-rw-r--r--weed/filesys/dirty_page.go10
1 files changed, 3 insertions, 7 deletions
diff --git a/weed/filesys/dirty_page.go b/weed/filesys/dirty_page.go
index 3d3fac184..feaf8945b 100644
--- a/weed/filesys/dirty_page.go
+++ b/weed/filesys/dirty_page.go
@@ -6,6 +6,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
"io"
"sync"
+ "time"
)
type ContinuousDirtyPages struct {
@@ -81,6 +82,7 @@ func (pages *ContinuousDirtyPages) saveExistingLargestPageToStorage() (hasSavedD
func (pages *ContinuousDirtyPages) saveToStorage(reader io.Reader, offset int64, size int64) {
+ mtime := time.Now().UnixNano()
pages.writeWaitGroup.Add(1)
go func() {
defer pages.writeWaitGroup.Done()
@@ -94,19 +96,13 @@ func (pages *ContinuousDirtyPages) saveToStorage(reader io.Reader, offset int64,
pages.chunkSaveErrChan <- err
return
}
+ chunk.Mtime = mtime
pages.collection, pages.replication = collection, replication
pages.f.addChunks([]*filer_pb.FileChunk{chunk})
pages.chunkSaveErrChan <- nil
}()
}
-func maxUint64(x, y uint64) uint64 {
- if x > y {
- return x
- }
- return y
-}
-
func max(x, y int64) int64 {
if x > y {
return x