aboutsummaryrefslogtreecommitdiff
path: root/weed/topology/node.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-02-16 10:48:16 -0800
committerChris Lu <chris.lu@gmail.com>2021-02-16 10:48:16 -0800
commit53ca7e66ef03964b2e02ae8eb64f02bbd0d0cb16 (patch)
treee11e9b093e416faa1737fc51412bb131d2ee8af1 /weed/topology/node.go
parent38efc6f5727046a38e8e1903f7fb715362926b7e (diff)
downloadseaweedfs-53ca7e66ef03964b2e02ae8eb64f02bbd0d0cb16.tar.xz
seaweedfs-53ca7e66ef03964b2e02ae8eb64f02bbd0d0cb16.zip
avoid dead lock
Diffstat (limited to 'weed/topology/node.go')
-rw-r--r--weed/topology/node.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/topology/node.go b/weed/topology/node.go
index 25b048452..f9ac890ef 100644
--- a/weed/topology/node.go
+++ b/weed/topology/node.go
@@ -210,6 +210,10 @@ func (n *NodeImpl) GetMaxVolumeId() needle.VolumeId {
func (n *NodeImpl) LinkChildNode(node Node) {
n.Lock()
defer n.Unlock()
+ n.doLinkChildNode(node)
+}
+
+func (n *NodeImpl) doLinkChildNode(node Node) {
if n.children[node.Id()] == nil {
n.children[node.Id()] = node
n.UpAdjustDiskUsageDelta(node.GetDiskUsages())