This commit is contained in:
Chris Lu
2020-08-15 17:01:42 -07:00
parent 0d60e67816
commit a22ee30596
3 changed files with 36 additions and 7 deletions

View File

@@ -3,8 +3,9 @@ package filesys
import (
"sync"
"github.com/chrislusf/seaweedfs/weed/util"
"github.com/seaweedfs/fuse/fs"
"github.com/chrislusf/seaweedfs/weed/util"
)
type FsCache struct {
@@ -118,7 +119,6 @@ func (c *FsCache) Move(oldPath util.FullPath, newPath util.FullPath) *FsNode {
target = target.ensureChild(p)
}
parent := target.parent
src.name = target.name
if dir, ok := src.node.(*Dir); ok {
dir.name = target.name // target is not Dir, but a shortcut
}
@@ -132,6 +132,7 @@ func (c *FsCache) Move(oldPath util.FullPath, newPath util.FullPath) *FsNode {
target.deleteSelf()
src.name = target.name
src.connectToParent(parent)
return src
@@ -144,10 +145,14 @@ func (n *FsNode) connectToParent(parent *FsNode) {
oldNode.deleteSelf()
}
if dir, ok := n.node.(*Dir); ok {
dir.parent = parent.node.(*Dir)
if parent.node != nil {
dir.parent = parent.node.(*Dir)
}
}
if f, ok := n.node.(*File); ok {
f.dir = parent.node.(*Dir)
if parent.node != nil {
f.dir = parent.node.(*Dir)
}
}
n.childrenLock.Lock()
parent.children[n.name] = n