mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-09-19 12:17:59 +08:00
refactor
This commit is contained in:
@@ -64,7 +64,7 @@ func (c *FsCache) DeleteFsNode(path util.FullPath) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if t.parent != nil {
|
if t.parent != nil {
|
||||||
t.parent.deleteChild(t.name)
|
t.parent.disconnectChild(t)
|
||||||
}
|
}
|
||||||
t.deleteSelf()
|
t.deleteSelf()
|
||||||
}
|
}
|
||||||
@@ -81,9 +81,8 @@ func (c *FsCache) Move(oldPath util.FullPath, newPath util.FullPath) *FsNode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if src.parent != nil {
|
if src.parent != nil {
|
||||||
src.parent.deleteChild(src.name)
|
src.parent.disconnectChild(src)
|
||||||
}
|
}
|
||||||
src.parent = nil
|
|
||||||
|
|
||||||
// find new node
|
// find new node
|
||||||
target := c.root
|
target := c.root
|
||||||
@@ -95,7 +94,7 @@ func (c *FsCache) Move(oldPath util.FullPath, newPath util.FullPath) *FsNode {
|
|||||||
if dir, ok := src.node.(*Dir); ok {
|
if dir, ok := src.node.(*Dir); ok {
|
||||||
dir.name = target.name // target is not Dir, but a shortcut
|
dir.name = target.name // target is not Dir, but a shortcut
|
||||||
}
|
}
|
||||||
parent.deleteChild(target.name)
|
parent.disconnectChild(target)
|
||||||
|
|
||||||
target.deleteSelf()
|
target.deleteSelf()
|
||||||
|
|
||||||
@@ -150,10 +149,11 @@ func (n *FsNode) ensureChild(name string) *FsNode {
|
|||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *FsNode) deleteChild(name string) {
|
func (n *FsNode) disconnectChild(child *FsNode) {
|
||||||
n.childrenLock.Lock()
|
n.childrenLock.Lock()
|
||||||
delete(n.children, name)
|
delete(n.children, child.name)
|
||||||
n.childrenLock.Unlock()
|
n.childrenLock.Unlock()
|
||||||
|
child.parent = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *FsNode) deleteSelf() {
|
func (n *FsNode) deleteSelf() {
|
||||||
|
Reference in New Issue
Block a user