mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-29 00:10:42 +01:00
change volume id type to topology.VolumeId
This commit is contained in:
1 parent
0121f35c12
commit
31e4dbfe38
6 files changed
+17
-15
No files matched your search
@@ -32,8 +32,8 @@ type Mapper struct {
|
||||
volumeLock sync.Mutex
|
||||
sequenceLock sync.Mutex
|
||||
Machines []*Machine
|
||||
vid2machineId map[uint32]int //machineId is +1 of the index of []*Machine, to detect not found entries
|
||||
Writers []uint32 // transient array of Writers volume id
|
||||
vid2machineId map[topology.VolumeId]int //machineId is +1 of the index of []*Machine, to detect not found entries
|
||||
Writers []topology.VolumeId // transient array of Writers volume id
|
||||
|
||||
FileIdSequence uint64
|
||||
fileIdCounter uint64
|
||||
@@ -47,9 +47,9 @@ func NewMachine(server, publicUrl string, volumes []topology.VolumeInfo) *Machin
|
||||
|
||||
func NewMapper(dirname string, filename string, volumeSizeLimit uint64) (m *Mapper) {
|
||||
m = &Mapper{dir: dirname, fileName: filename}
|
||||
m.vid2machineId = make(map[uint32]int)
|
||||
m.vid2machineId = make(map[topology.VolumeId]int)
|
||||
m.volumeSizeLimit = volumeSizeLimit
|
||||
m.Writers = *new([]uint32)
|
||||
m.Writers = *new([]topology.VolumeId)
|
||||
m.Machines = *new([]*Machine)
|
||||
|
||||
seqFile, se := os.OpenFile(path.Join(m.dir, m.fileName+".seq"), os.O_RDONLY, 0644)
|
||||
@@ -102,7 +102,7 @@ func (m *Mapper) NextFileId(c string) (uint64,int) {
|
||||
m.fileIdCounter = m.fileIdCounter - count
|
||||
return m.FileIdSequence - m.fileIdCounter, int(count)
|
||||
}
|
||||
func (m *Mapper) Get(vid uint32) (*Machine, error) {
|
||||
func (m *Mapper) Get(vid topology.VolumeId) (*Machine, error) {
|
||||
machineId := m.vid2machineId[vid]
|
||||
if machineId <= 0 {
|
||||
return nil, errors.New("invalid volume id " + strconv.FormatUint(uint64(vid), 10))
|
||||
@@ -134,7 +134,7 @@ func (m *Mapper) Add(machine Machine) {
|
||||
m.vid2machineId[v.Id] = machineId + 1 //use base 1 indexed, to detect not found cases
|
||||
}
|
||||
//setting Writers, copy-on-write because of possible updating, this needs some future work!
|
||||
var writers []uint32
|
||||
var writers []topology.VolumeId
|
||||
for _, machine_entry := range m.Machines {
|
||||
for _, v := range machine_entry.Volumes {
|
||||
if uint64(v.Size) < m.volumeSizeLimit {
|
||||
|
||||
Reference in new issue
Block a user