aboutsummaryrefslogtreecommitdiff
path: root/weed/topology/topology.go
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2018-07-28 21:03:29 -0700
committerGitHub <noreply@github.com>2018-07-28 21:03:29 -0700
commit452bd0b01393e53e958fb9825bf1f27e6b3522df (patch)
treee1a61e592118f9696b7f51501d3b3fd0f6c3eeb5 /weed/topology/topology.go
parent97603d6e176dd2b9f2aebd9f6122a8c60481463a (diff)
parentd3205a007071f26587affb416f71b5c63854b863 (diff)
downloadseaweedfs-452bd0b01393e53e958fb9825bf1f27e6b3522df.tar.xz
seaweedfs-452bd0b01393e53e958fb9825bf1f27e6b3522df.zip
Merge pull request #702 from chrislusf/add_topo_listener
Add volume id location change listener
Diffstat (limited to 'weed/topology/topology.go')
-rw-r--r--weed/topology/topology.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/weed/topology/topology.go b/weed/topology/topology.go
index 177c2a181..4242bfa05 100644
--- a/weed/topology/topology.go
+++ b/weed/topology/topology.go
@@ -151,7 +151,7 @@ func (t *Topology) GetOrCreateDataCenter(dcName string) *DataCenter {
return dc
}
-func (t *Topology) SyncDataNodeRegistration(volumes []*master_pb.VolumeInformationMessage, dn *DataNode) {
+func (t *Topology) SyncDataNodeRegistration(volumes []*master_pb.VolumeInformationMessage, dn *DataNode) (newVolumes, deletedVolumes []storage.VolumeInfo) {
var volumeInfos []storage.VolumeInfo
for _, v := range volumes {
if vi, err := storage.NewVolumeInfo(v); err == nil {
@@ -160,11 +160,12 @@ func (t *Topology) SyncDataNodeRegistration(volumes []*master_pb.VolumeInformati
glog.V(0).Infof("Fail to convert joined volume information: %v", err)
}
}
- deletedVolumes := dn.UpdateVolumes(volumeInfos)
+ newVolumes, deletedVolumes = dn.UpdateVolumes(volumeInfos)
for _, v := range volumeInfos {
t.RegisterVolumeLayout(v, dn)
}
for _, v := range deletedVolumes {
t.UnRegisterVolumeLayout(v, dn)
}
+ return
}