diff options
| author | chrislu <chris.lu@gmail.com> | 2022-02-27 03:03:19 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-02-27 03:03:19 -0800 |
| commit | c3792c8352d72b9dac5e6032e9b0710e032e18d2 (patch) | |
| tree | 44f87f7fb040217ba3dba8c00db1b6191a60fcc6 /weed/filesys/page_writer/page_chunk_swapfile.go | |
| parent | aa9eef81e61f29e1801b2e23a6d8db8a4836cb9c (diff) | |
| download | seaweedfs-c3792c8352d72b9dac5e6032e9b0710e032e18d2.tar.xz seaweedfs-c3792c8352d72b9dac5e6032e9b0710e032e18d2.zip | |
remove dead code
Diffstat (limited to 'weed/filesys/page_writer/page_chunk_swapfile.go')
| -rw-r--r-- | weed/filesys/page_writer/page_chunk_swapfile.go | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/weed/filesys/page_writer/page_chunk_swapfile.go b/weed/filesys/page_writer/page_chunk_swapfile.go deleted file mode 100644 index 486557629..000000000 --- a/weed/filesys/page_writer/page_chunk_swapfile.go +++ /dev/null @@ -1,121 +0,0 @@ -package page_writer - -import ( - "github.com/chrislusf/seaweedfs/weed/glog" - "github.com/chrislusf/seaweedfs/weed/util" - "github.com/chrislusf/seaweedfs/weed/util/mem" - "os" -) - -var ( - _ = PageChunk(&SwapFileChunk{}) -) - -type ActualChunkIndex int - -type SwapFile struct { - dir string - file *os.File - logicToActualChunkIndex map[LogicChunkIndex]ActualChunkIndex - chunkSize int64 -} - -type SwapFileChunk struct { - swapfile *SwapFile - usage *ChunkWrittenIntervalList - logicChunkIndex LogicChunkIndex - actualChunkIndex ActualChunkIndex -} - -func NewSwapFile(dir string, chunkSize int64) *SwapFile { - return &SwapFile{ - dir: dir, - file: nil, - logicToActualChunkIndex: make(map[LogicChunkIndex]ActualChunkIndex), - chunkSize: chunkSize, - } -} -func (sf *SwapFile) FreeResource() { - if sf.file != nil { - sf.file.Close() - os.Remove(sf.file.Name()) - } -} - -func (sf *SwapFile) NewTempFileChunk(logicChunkIndex LogicChunkIndex) (tc *SwapFileChunk) { - if sf.file == nil { - var err error - sf.file, err = os.CreateTemp(sf.dir, "") - if err != nil { - glog.Errorf("create swap file: %v", err) - return nil - } - } - actualChunkIndex, found := sf.logicToActualChunkIndex[logicChunkIndex] - if !found { - actualChunkIndex = ActualChunkIndex(len(sf.logicToActualChunkIndex)) - sf.logicToActualChunkIndex[logicChunkIndex] = actualChunkIndex - } - - return &SwapFileChunk{ - swapfile: sf, - usage: newChunkWrittenIntervalList(), - logicChunkIndex: logicChunkIndex, - actualChunkIndex: actualChunkIndex, - } -} - -func (sc *SwapFileChunk) FreeResource() { -} - -func (sc *SwapFileChunk) WriteDataAt(src []byte, offset int64) (n int) { - innerOffset := offset % sc.swapfile.chunkSize - var err error - n, err = sc.swapfile.file.WriteAt(src, int64(sc.actualChunkIndex)*sc.swapfile.chunkSize+innerOffset) - if err == nil { - sc.usage.MarkWritten(innerOffset, innerOffset+int64(n)) - } else { - glog.Errorf("failed to write swap file %s: %v", sc.swapfile.file.Name(), err) - } - return -} - -func (sc *SwapFileChunk) ReadDataAt(p []byte, off int64) (maxStop int64) { - chunkStartOffset := int64(sc.logicChunkIndex) * sc.swapfile.chunkSize - for t := sc.usage.head.next; t != sc.usage.tail; t = t.next { - logicStart := max(off, chunkStartOffset+t.StartOffset) - logicStop := min(off+int64(len(p)), chunkStartOffset+t.stopOffset) - if logicStart < logicStop { - actualStart := logicStart - chunkStartOffset + int64(sc.actualChunkIndex)*sc.swapfile.chunkSize - if _, err := sc.swapfile.file.ReadAt(p[logicStart-off:logicStop-off], actualStart); err != nil { - glog.Errorf("failed to reading swap file %s: %v", sc.swapfile.file.Name(), err) - break - } - maxStop = max(maxStop, logicStop) - } - } - return -} - -func (sc *SwapFileChunk) IsComplete() bool { - return sc.usage.IsComplete(sc.swapfile.chunkSize) -} - -func (sc *SwapFileChunk) WrittenSize() int64 { - return sc.usage.WrittenSize() -} - -func (sc *SwapFileChunk) SaveContent(saveFn SaveToStorageFunc) { - if saveFn == nil { - return - } - for t := sc.usage.head.next; t != sc.usage.tail; t = t.next { - data := mem.Allocate(int(t.Size())) - sc.swapfile.file.ReadAt(data, t.StartOffset+int64(sc.actualChunkIndex)*sc.swapfile.chunkSize) - reader := util.NewBytesReader(data) - saveFn(reader, int64(sc.logicChunkIndex)*sc.swapfile.chunkSize+t.StartOffset, t.Size(), func() { - }) - mem.Free(data) - } - sc.usage = newChunkWrittenIntervalList() -} |
