aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/volume_super_block.go
diff options
context:
space:
mode:
authorj.laycock <joseph.laycock@4sightimaging.com>2019-08-30 12:15:17 +0100
committerj.laycock <joseph.laycock@4sightimaging.com>2019-08-30 12:30:00 +0100
commit840ccdc35d9870f5d408c1c265b451e3eef5210c (patch)
treecf3d17224584f6346f7c4ef3f27721ae03180005 /weed/storage/volume_super_block.go
parentdc50701e7d69f4349e6a952b622841e6705f3260 (diff)
downloadseaweedfs-840ccdc35d9870f5d408c1c265b451e3eef5210c.tar.xz
seaweedfs-840ccdc35d9870f5d408c1c265b451e3eef5210c.zip
Refactor to pass memory maps by reference instead of value, fix memory maps not being created properly or written to properly
Diffstat (limited to 'weed/storage/volume_super_block.go')
-rw-r--r--weed/storage/volume_super_block.go16
1 files changed, 8 insertions, 8 deletions
diff --git a/weed/storage/volume_super_block.go b/weed/storage/volume_super_block.go
index 9ef615cb3..8829909c1 100644
--- a/weed/storage/volume_super_block.go
+++ b/weed/storage/volume_super_block.go
@@ -6,11 +6,11 @@ import (
"github.com/joeslay/seaweedfs/weed/storage/memory_map"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
)
const (
@@ -73,11 +73,11 @@ func (s *SuperBlock) Bytes() []byte {
func (v *Volume) maybeWriteSuperBlock() error {
- mem_map, exists := memory_map.FileMemoryMap[v.FileName()]
+ mem_map, exists := memory_map.FileMemoryMap[v.dataFile.Name()]
if exists {
if mem_map.End_Of_File == -1 {
v.SuperBlock.version = needle.CurrentVersion
- memory_map.WriteMemory(mem_map, 0, uint64(len(v.SuperBlock.Bytes())), v.SuperBlock.Bytes())
+ mem_map.WriteMemory(0, uint64(len(v.SuperBlock.Bytes())), v.SuperBlock.Bytes())
}
return nil
} else {
@@ -113,13 +113,13 @@ func ReadSuperBlock(dataFile *os.File) (superBlock SuperBlock, err error) {
header := make([]byte, _SuperBlockSize)
mem_map, exists := memory_map.FileMemoryMap[dataFile.Name()]
if exists {
- mem_buffer, e := memory_map.ReadMemory(mem_map, 0, _SuperBlockSize)
+ mem_buffer, e := mem_map.ReadMemory(0, _SuperBlockSize)
if err != nil {
err = fmt.Errorf("cannot read volume %s super block: %v", dataFile.Name(), e)
return
}
copy(header, mem_buffer.Buffer)
- memory_map.ReleaseMemory(mem_buffer)
+ mem_buffer.ReleaseMemory()
} else {
if _, err = dataFile.Seek(0, 0); err != nil {
err = fmt.Errorf("cannot seek to the beginning of %s: %v", dataFile.Name(), err)