aboutsummaryrefslogtreecommitdiff
path: root/go/topology/data_node.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/topology/data_node.go')
-rw-r--r--go/topology/data_node.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/go/topology/data_node.go b/go/topology/data_node.go
index ae80e08bb..c67c5c1c1 100644
--- a/go/topology/data_node.go
+++ b/go/topology/data_node.go
@@ -38,15 +38,16 @@ func (dn *DataNode) AddOrUpdateVolume(v storage.VolumeInfo) {
}
}
-func (dn *DataNode) UpdateVolumes(actualVolumes []storage.VolumeInfo) {
+func (dn *DataNode) UpdateVolumes(actualVolumes []storage.VolumeInfo) (deletedVolumes []storage.VolumeInfo) {
actualVolumeMap := make(map[storage.VolumeId]storage.VolumeInfo)
for _, v := range actualVolumes {
actualVolumeMap[v.Id] = v
}
- for vid, _ := range dn.volumes {
+ for vid, v := range dn.volumes {
if _, ok := actualVolumeMap[vid]; !ok {
glog.V(0).Infoln("Deleting volume id:", vid)
delete(dn.volumes, vid)
+ deletedVolumes = append(deletedVolumes, v)
dn.UpAdjustVolumeCountDelta(-1)
dn.UpAdjustActiveVolumeCountDelta(-1)
}
@@ -54,6 +55,7 @@ func (dn *DataNode) UpdateVolumes(actualVolumes []storage.VolumeInfo) {
for _, v := range actualVolumes {
dn.AddOrUpdateVolume(v)
}
+ return
}
func (dn *DataNode) GetDataCenter() *DataCenter {