diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-08-15 17:01:42 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-08-15 17:01:42 -0700 |
| commit | a22ee3059687237dfe4d645313a3907cd5f13fcd (patch) | |
| tree | ed081b2a2a06d06551f7790924f9610d6f2a52f2 /weed/filesys/dir.go | |
| parent | 0d60e678166b59d59d32af31bfefdafe92581823 (diff) | |
| download | seaweedfs-a22ee3059687237dfe4d645313a3907cd5f13fcd.tar.xz seaweedfs-a22ee3059687237dfe4d645313a3907cd5f13fcd.zip | |
fix nil
Diffstat (limited to 'weed/filesys/dir.go')
| -rw-r--r-- | weed/filesys/dir.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go index 50ca6df5d..7d099c395 100644 --- a/weed/filesys/dir.go +++ b/weed/filesys/dir.go @@ -101,7 +101,7 @@ func (dir *Dir) Fsync(ctx context.Context, req *fuse.FsyncRequest) error { } func (dir *Dir) newFile(name string, entry *filer_pb.Entry) fs.Node { - return dir.wfs.fsNodeCache.EnsureFsNode(util.NewFullPath(dir.FullPath(), name), func() fs.Node { + f := dir.wfs.fsNodeCache.EnsureFsNode(util.NewFullPath(dir.FullPath(), name), func() fs.Node { return &File{ Name: name, dir: dir, @@ -110,14 +110,17 @@ func (dir *Dir) newFile(name string, entry *filer_pb.Entry) fs.Node { entryViewCache: nil, } }) + f.(*File).dir = dir // in case dir node was created later + return f } func (dir *Dir) newDirectory(fullpath util.FullPath, entry *filer_pb.Entry) fs.Node { - return dir.wfs.fsNodeCache.EnsureFsNode(fullpath, func() fs.Node { + d := dir.wfs.fsNodeCache.EnsureFsNode(fullpath, func() fs.Node { return &Dir{name: entry.Name, wfs: dir.wfs, entry: entry, parent: dir} }) - + d.(*Dir).parent = dir // in case dir node was created later + return d } func (dir *Dir) Create(ctx context.Context, req *fuse.CreateRequest, |
