diff options
| -rw-r--r-- | weed/filer/filer.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/weed/filer/filer.go b/weed/filer/filer.go index 69b57d749..85600e505 100644 --- a/weed/filer/filer.go +++ b/weed/filer/filer.go @@ -486,6 +486,15 @@ func (f *Filer) DeleteEmptyParentDirectories(ctx context.Context, dirPath util.F return } + // Additional safety: prevent deletion of bucket-level directories + // This protects /buckets/mybucket from being deleted even if empty + baseDepth := strings.Count(f.DirBucketsPath, "/") + dirDepth := strings.Count(string(dirPath), "/") + if dirDepth <= baseDepth+1 { + glog.V(2).InfofCtx(ctx, "DeleteEmptyParentDirectories: skipping deletion of bucket-level directory %s", dirPath) + return + } + // Check if directory is empty isEmpty, err := f.IsDirectoryEmpty(ctx, dirPath) if err != nil { |
