mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
Rename End_of_file variable, implement platform indepenent memory_map.go
This commit is contained in:
parent
9aa0859697
commit
cc756ddd79
|
@ -2,7 +2,10 @@
|
|||
|
||||
package memory_map
|
||||
|
||||
import "os"
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
)
|
||||
|
||||
type MemoryBuffer struct {
|
||||
aligned_length uint64
|
||||
|
@ -17,7 +20,23 @@ type MemoryMap struct {
|
|||
file_memory_map_handle uintptr
|
||||
write_map_views []MemoryBuffer
|
||||
max_length uint64
|
||||
End_Of_File int64
|
||||
End_of_file int64
|
||||
}
|
||||
|
||||
var FileMemoryMap = make(map[string]MemoryMap)
|
||||
var FileMemoryMap = make(map[string]*MemoryMap)
|
||||
|
||||
func (mMap *MemoryMap) WriteMemory(offset uint64, length uint64, data []byte) {
|
||||
|
||||
}
|
||||
|
||||
func (mMap *MemoryMap) ReadMemory(offset uint64, length uint64) (MemoryBuffer, error) {
|
||||
return MemoryBuffer{}, fmt.Errorf("Memory Map not implemented for this platform")
|
||||
}
|
||||
|
||||
func (mem_buffer *MemoryBuffer) ReleaseMemory() {
|
||||
|
||||
}
|
||||
|
||||
func (mMap *MemoryMap) DeleteFileAndMemoryMap() {
|
||||
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ type MemoryMap struct {
|
|||
file_memory_map_handle uintptr
|
||||
write_map_views []MemoryBuffer
|
||||
max_length uint64
|
||||
End_Of_File int64
|
||||
End_of_file int64
|
||||
}
|
||||
|
||||
var FileMemoryMap = make(map[string]*MemoryMap)
|
||||
|
@ -51,7 +51,7 @@ func (mMap *MemoryMap) CreateMemoryMap(file *os.File, maxlength uint64) {
|
|||
mMap.file_memory_map_handle = uintptr(file_memory_map_handle)
|
||||
mMap.write_map_views = make([]MemoryBuffer, 0, maxlength/chunk_size)
|
||||
mMap.max_length = maxlength
|
||||
mMap.End_Of_File = -1
|
||||
mMap.End_of_file = -1
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -103,8 +103,8 @@ func (mMap *MemoryMap) WriteMemory(offset uint64, length uint64, data []byte) {
|
|||
}
|
||||
}
|
||||
|
||||
if mMap.End_Of_File < int64(offset+length-1) {
|
||||
mMap.End_Of_File = int64(offset + length - 1)
|
||||
if mMap.End_of_file < int64(offset+length-1) {
|
||||
mMap.End_of_file = int64(offset + length - 1)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ func (n *Needle) Append(w *os.File, version Version) (offset uint64, size uint32
|
|||
return
|
||||
}
|
||||
} else {
|
||||
offset = uint64(mMap.End_Of_File + 1)
|
||||
offset = uint64(mMap.End_of_file + 1)
|
||||
}
|
||||
|
||||
bytesToWrite, size, actualSize, err := n.prepareWriteBuffer(version)
|
||||
|
|
|
@ -75,7 +75,7 @@ func (v *Volume) maybeWriteSuperBlock() error {
|
|||
|
||||
mMap, exists := memory_map.FileMemoryMap[v.dataFile.Name()]
|
||||
if exists {
|
||||
if mMap.End_Of_File == -1 {
|
||||
if mMap.End_of_file == -1 {
|
||||
v.SuperBlock.version = needle.CurrentVersion
|
||||
mMap.WriteMemory(0, uint64(len(v.SuperBlock.Bytes())), v.SuperBlock.Bytes())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue