diff options
| author | chrislu <chris.lu@gmail.com> | 2022-01-17 13:40:41 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-01-17 13:40:41 -0800 |
| commit | 1734017ba13cb03f04f3028712e521f4a6b7f00c (patch) | |
| tree | fe951df9bccdce47bedd0504914380491acf4ef0 /weed/filesys/page_writer/upload_pipeline.go | |
| parent | da7f13e73e110ad7b33124cae119ccd51ef3f194 (diff) | |
| download | seaweedfs-1734017ba13cb03f04f3028712e521f4a6b7f00c.tar.xz seaweedfs-1734017ba13cb03f04f3028712e521f4a6b7f00c.zip | |
add test
Diffstat (limited to 'weed/filesys/page_writer/upload_pipeline.go')
| -rw-r--r-- | weed/filesys/page_writer/upload_pipeline.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/filesys/page_writer/upload_pipeline.go b/weed/filesys/page_writer/upload_pipeline.go index 0c9e13649..b87061adb 100644 --- a/weed/filesys/page_writer/upload_pipeline.go +++ b/weed/filesys/page_writer/upload_pipeline.go @@ -142,9 +142,10 @@ func (cw *UploadPipeline) moveToSealed(memChunk *MemChunk, logicChunkIndex Logic cw.sealedChunksLock.Unlock() cw.writers.Execute(func() { + // first add to the file chunks cw.saveOneChunk(sealedChunk.chunk, logicChunkIndex) - // remove from sealed chunks + // then remove from sealed chunks sealedChunk.FreeReference() cw.sealedChunksLock.Lock() defer cw.sealedChunksLock.Unlock() @@ -162,6 +163,9 @@ func (cw *UploadPipeline) moveToSealed(memChunk *MemChunk, logicChunkIndex Logic } func (cw *UploadPipeline) saveOneChunk(memChunk *MemChunk, logicChunkIndex LogicChunkIndex) { + if cw.saveToStorageFn == nil { + return + } for t := memChunk.usage.head.next; t != memChunk.usage.tail; t = t.next { reader := util.NewBytesReader(memChunk.buf[t.StartOffset:t.stopOffset]) cw.saveToStorageFn(reader, int64(logicChunkIndex)*cw.ChunkSize+t.StartOffset, t.Size(), func() { |
