mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-06 06:22:05 +02:00
determine stopAtPath
This commit is contained in:
1 parent
36ddaaaf91
commit
1cd8a591b9
1 file changed
+17
-1
+17
-1
@@ -435,7 +435,23 @@ func (f *Filer) doListDirectoryEntries(ctx context.Context, p util.FullPath, sta
|
||||
// DeleteEmptyParentDirectories has built-in protection against deleting bucket directories
|
||||
if deletedCount > 0 && !hasValidEntries && p != "/" && startFileName == "" {
|
||||
glog.V(2).InfofCtx(ctx, "doListDirectoryEntries: deleted %d expired entries from %s, checking for empty directory cleanup", deletedCount, p)
|
||||
stopAtPath := util.FullPath(f.DirBucketsPath)
|
||||
|
||||
// Determine appropriate stop path based on whether this is an S3 path
|
||||
var stopAtPath util.FullPath
|
||||
if strings.HasPrefix(string(p), f.DirBucketsPath+"/") {
|
||||
// S3 path: stop at the bucket root (e.g., /buckets/mybucket)
|
||||
pathAfterBuckets := string(p)[len(f.DirBucketsPath)+1:]
|
||||
parts := strings.SplitN(pathAfterBuckets, "/", 2)
|
||||
if len(parts) > 0 {
|
||||
stopAtPath = util.NewFullPath(f.DirBucketsPath, parts[0])
|
||||
} else {
|
||||
stopAtPath = util.FullPath(f.DirBucketsPath)
|
||||
}
|
||||
} else {
|
||||
// Non-S3 path: allow cleanup up to root
|
||||
stopAtPath = "/"
|
||||
}
|
||||
|
||||
f.DeleteEmptyParentDirectories(opCtx, p, stopAtPath)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user