From c27f6175d70008ec1e75ab3635329bc608b7ffa2 Mon Sep 17 00:00:00 2001 From: "chris.lu@gmail.com" Date: Mon, 26 Dec 2011 09:58:07 +0000 Subject: [PATCH] update volume status on each heartbeat git-svn-id: https://weed-fs.googlecode.com/svn/trunk@26 282b0af5-e82d-9cf1-ede4-77906d7719d0 --- weed-fs/src/pkg/directory/volume_mapping.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/weed-fs/src/pkg/directory/volume_mapping.go b/weed-fs/src/pkg/directory/volume_mapping.go index a4cce21df..b5bac8505 100644 --- a/weed-fs/src/pkg/directory/volume_mapping.go +++ b/weed-fs/src/pkg/directory/volume_mapping.go @@ -91,6 +91,8 @@ func (m *Mapper) Add(machine Machine){ if machineId < 0 { machineId = len(m.Machines) m.Machines = append(m.Machines, &machine) + }else{ + m.Machines[machineId] = &machine } m.lock.Unlock() @@ -98,20 +100,17 @@ func (m *Mapper) Add(machine Machine){ for _, v := range machine.Volumes { //log.Println("Setting volume", v.Id, "to", machine.Server.Url) m.vid2machineId[v.Id] = machineId - if v.Size < ChunkSizeLimit { - m.Writers = append(m.Writers, machineId) - } } //setting Writers, copy-on-write because of possible updating - var Writers []int + var writers []int for machine_index, machine_entry := range m.Machines { for _, v := range machine_entry.Volumes { if v.Size < ChunkSizeLimit { - Writers = append(Writers, machine_index) + writers = append(writers, machine_index) } } } - m.Writers = Writers + m.Writers = writers } func (m *Mapper) saveSequence() { log.Println("Saving file id sequence", m.FileIdSequence, "to", path.Join(m.dir, m.fileName+".seq"))