aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-10-16 23:52:30 -0700
committerChris Lu <chris.lu@gmail.com>2021-10-16 23:52:30 -0700
commit93bb7869b8e7ad3e3b2e93a9f931c8b3b05d79b3 (patch)
tree87f38b0619b62a0ab1d562c12619a3ded42d334d /weed/filesys
parent8e2c9713a339604ed883a06c3a4cadb808c196be (diff)
downloadseaweedfs-93bb7869b8e7ad3e3b2e93a9f931c8b3b05d79b3.tar.xz
seaweedfs-93bb7869b8e7ad3e3b2e93a9f931c8b3b05d79b3.zip
Revert "mount: fix renaming a deep directory with unvisited directories"
This reverts commit 0ccdb937bba225ac6c170e6f5f1d8a3065ff56a7.
Diffstat (limited to 'weed/filesys')
-rw-r--r--weed/filesys/dir.go2
-rw-r--r--weed/filesys/dir_rename.go2
-rw-r--r--weed/filesys/meta_cache/meta_cache.go9
3 files changed, 5 insertions, 8 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index d2d58fda5..9a791e013 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -352,7 +352,7 @@ func (dir *Dir) ReadDirAll(ctx context.Context) (ret []fuse.Dirent, err error) {
glog.Errorf("dir ReadDirAll %s: %v", dirPath, err)
return nil, fuse.EIO
}
- listErr := dir.wfs.metaCache.ListDirectoryEntries(context.Background(), dir.wfs, dirPath, "", false, int64(math.MaxInt32), func(entry *filer.Entry) bool {
+ listErr := dir.wfs.metaCache.ListDirectoryEntries(context.Background(), dirPath, "", false, int64(math.MaxInt32), func(entry *filer.Entry) bool {
processEachEntryFn(entry, false)
return true
})
diff --git a/weed/filesys/dir_rename.go b/weed/filesys/dir_rename.go
index ff65bccd2..dd76577b0 100644
--- a/weed/filesys/dir_rename.go
+++ b/weed/filesys/dir_rename.go
@@ -131,7 +131,7 @@ func (dir *Dir) moveFolderSubEntries(ctx context.Context, oldParent util.FullPat
glog.V(1).Infof("moving folder %s => %s", currentDirPath, newDirPath)
var moveErr error
- listErr := dir.wfs.metaCache.ListDirectoryEntries(ctx, dir.wfs, currentDirPath, "", false, int64(math.MaxInt32), func(item *filer.Entry) bool {
+ listErr := dir.wfs.metaCache.ListDirectoryEntries(ctx, currentDirPath, "", false, int64(math.MaxInt32), func(item *filer.Entry) bool {
moveErr = dir.moveEntry(ctx, currentDirPath, item, newDirPath, item.Name())
if moveErr != nil {
return false
diff --git a/weed/filesys/meta_cache/meta_cache.go b/weed/filesys/meta_cache/meta_cache.go
index 6630a7739..69d1655ee 100644
--- a/weed/filesys/meta_cache/meta_cache.go
+++ b/weed/filesys/meta_cache/meta_cache.go
@@ -2,10 +2,10 @@ package meta_cache
import (
"context"
+ "fmt"
"github.com/chrislusf/seaweedfs/weed/filer"
"github.com/chrislusf/seaweedfs/weed/filer/leveldb"
"github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
"github.com/chrislusf/seaweedfs/weed/util"
"github.com/chrislusf/seaweedfs/weed/util/bounded_tree"
"os"
@@ -117,15 +117,12 @@ func (mc *MetaCache) DeleteEntry(ctx context.Context, fp util.FullPath) (err err
return mc.localStore.DeleteEntry(ctx, fp)
}
-func (mc *MetaCache) ListDirectoryEntries(ctx context.Context, client filer_pb.FilerClient, dirPath util.FullPath, startFileName string, includeStartFile bool, limit int64, eachEntryFunc filer.ListEachEntryFunc) error {
+func (mc *MetaCache) ListDirectoryEntries(ctx context.Context, dirPath util.FullPath, startFileName string, includeStartFile bool, limit int64, eachEntryFunc filer.ListEachEntryFunc) error {
//mc.RLock()
//defer mc.RUnlock()
if !mc.visitedBoundary.HasVisited(dirPath) {
- glog.V(2).Infof("visit unsynchronized dir: %v", dirPath)
- // this should not happen often
- // unless, e.g., moving a deep directory
- EnsureVisited(mc, client, dirPath)
+ return fmt.Errorf("unsynchronized dir: %v", dirPath)
}
_, err := mc.localStore.ListDirectoryEntries(ctx, dirPath, startFileName, includeStartFile, limit, func(entry *filer.Entry) bool {