aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-01-22 15:38:25 -0800
committerChris Lu <chris.lu@gmail.com>2020-01-22 15:38:25 -0800
commit72e1aff237511fff72e1455e1b31b1f55e6d0ceb (patch)
tree67baee8e73f6666d363164031adc1b6d95fc5858
parent66ded8804aac639e62b2a5a9c45fd9b4ccf92567 (diff)
downloadseaweedfs-72e1aff237511fff72e1455e1b31b1f55e6d0ceb.tar.xz
seaweedfs-72e1aff237511fff72e1455e1b31b1f55e6d0ceb.zip
add lock on dirty pages
-rw-r--r--weed/filesys/dirty_page.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/filesys/dirty_page.go b/weed/filesys/dirty_page.go
index 7a466b506..3418dc1c9 100644
--- a/weed/filesys/dirty_page.go
+++ b/weed/filesys/dirty_page.go
@@ -231,6 +231,10 @@ func min(x, y int64) int64 {
func (pages *ContinuousDirtyPages) ReadDirtyData(ctx context.Context, data []byte, startOffset int64) (offset int64, size int, err error) {
bufSize := int64(len(data))
+
+ pages.lock.Lock()
+ defer pages.lock.Unlock()
+
if startOffset+bufSize < pages.Offset {
return
}