aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/dirty_page.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-09-22 00:11:46 -0700
committerChris Lu <chris.lu@gmail.com>2018-09-22 00:11:46 -0700
commit7bb62b9f21c92ad8c218eab236c136606fc7153a (patch)
tree64dd12151ef2a335b85bea4e46d7bc4de5268503 /weed/filesys/dirty_page.go
parentf905a1e779fdb9333f0fc08817cdbe33c261a25d (diff)
downloadseaweedfs-7bb62b9f21c92ad8c218eab236c136606fc7153a.tar.xz
seaweedfs-7bb62b9f21c92ad8c218eab236c136606fc7153a.zip
delay file creation without chunks from dir.Create to file.Flush
Diffstat (limited to 'weed/filesys/dirty_page.go')
-rw-r--r--weed/filesys/dirty_page.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/weed/filesys/dirty_page.go b/weed/filesys/dirty_page.go
index 145d89138..eb810d383 100644
--- a/weed/filesys/dirty_page.go
+++ b/weed/filesys/dirty_page.go
@@ -66,7 +66,8 @@ func (pages *ContinuousDirtyPages) AddPage(ctx context.Context, offset int64, da
if offset != pages.Offset+pages.Size {
// when this happens, debug shows the data overlapping with existing data is empty
// the data is not just append
- if offset == pages.Offset {
+ if offset == pages.Offset && int(pages.Size) < len(data) {
+ // glog.V(2).Infof("pages[%d,%d) pages.Data len=%v, data len=%d, pages.Size=%d", pages.Offset, pages.Offset+pages.Size, len(pages.Data), len(data), pages.Size)
copy(pages.Data[pages.Size:], data[pages.Size:])
} else {
if pages.Size != 0 {