From dc69c875a1dc1b1b94371ba7cad1af2cb1a880a5 Mon Sep 17 00:00:00 2001 From: chrislu Date: Wed, 5 Nov 2025 14:42:27 -0800 Subject: [PATCH] prevent deleting bucket --- weed/filer/filer.go | 9 +++++++++ 1 file changed, 9 insertions(+) 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 {