diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-01-22 15:38:25 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-01-22 15:38:25 -0800 |
| commit | 72e1aff237511fff72e1455e1b31b1f55e6d0ceb (patch) | |
| tree | 67baee8e73f6666d363164031adc1b6d95fc5858 | |
| parent | 66ded8804aac639e62b2a5a9c45fd9b4ccf92567 (diff) | |
| download | seaweedfs-72e1aff237511fff72e1455e1b31b1f55e6d0ceb.tar.xz seaweedfs-72e1aff237511fff72e1455e1b31b1f55e6d0ceb.zip | |
add lock on dirty pages
| -rw-r--r-- | weed/filesys/dirty_page.go | 4 |
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 } |
