Browse Source

simplify

also-delete-parent-directory-if-empty
chrislu 4 weeks ago
parent
commit
de24b2e42c
  1. 10
      weed/filer/filer.go
  2. 4
      weed/server/filer_grpc_server.go

10
weed/filer/filer.go

@ -440,13 +440,9 @@ func (f *Filer) doListDirectoryEntries(ctx context.Context, p util.FullPath, sta
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)
}
pathAfterBuckets := strings.TrimPrefix(string(p), f.DirBucketsPath+"/")
bucketName, _, _ := strings.Cut(pathAfterBuckets, "/")
stopAtPath = util.NewFullPath(f.DirBucketsPath, bucketName)
} else {
// Non-S3 path: allow cleanup up to root
stopAtPath = "/"

4
weed/server/filer_grpc_server.go

@ -305,7 +305,9 @@ func (fs *FilerServer) DeleteEntry(ctx context.Context, req *filer_pb.DeleteEntr
if req.DeleteEmptyParentDirectories {
stopAtPath := util.FullPath(req.DeleteEmptyParentDirectoriesStopPath)
if stopAtPath == "" {
stopAtPath = util.FullPath(fs.filer.DirBucketsPath)
// Default to root to allow cleanup for non-S3 paths
// S3 API clients provide a specific bucket stop path
stopAtPath = "/"
}
// Clean up empty parent directories starting from req.Directory

Loading…
Cancel
Save