use Lock instead of RLock

fix https://github.com/chrislusf/seaweedfs/issues/364
This commit is contained in:
Chris Lu 2016-09-07 18:13:49 -07:00
parent c4b7966dbe
commit 0559aa9673

View file

@ -53,7 +53,7 @@ func (dn *DataNode) UpdateVolumes(actualVolumes []storage.VolumeInfo) (deletedVo
for _, v := range actualVolumes {
actualVolumeMap[v.Id] = v
}
dn.RLock()
dn.Lock()
for vid, v := range dn.volumes {
if _, ok := actualVolumeMap[vid]; !ok {
glog.V(0).Infoln("Deleting volume id:", vid)
@ -62,8 +62,8 @@ func (dn *DataNode) UpdateVolumes(actualVolumes []storage.VolumeInfo) (deletedVo
dn.UpAdjustVolumeCountDelta(-1)
dn.UpAdjustActiveVolumeCountDelta(-1)
}
} //TODO: adjust max volume id, if need to reclaim volume ids
dn.RUnlock()
}
dn.Unlock()
for _, v := range actualVolumes {
dn.AddOrUpdateVolume(v)
}