mirror of
https://github.com/pgsty/minio.git
synced 2026-10-07 10:15:58 +03:00
non-empty dirs should not be listed as objects (#9129)
This commit is contained in:
@@ -25,7 +25,7 @@ import (
|
||||
// disks - used for doing disk.ListDir()
|
||||
func listDirFactory(ctx context.Context, disks ...StorageAPI) ListDirFunc {
|
||||
// Returns sorted merged entries from all the disks.
|
||||
listDir := func(bucket, prefixDir, prefixEntry string) (mergedEntries []string) {
|
||||
listDir := func(bucket, prefixDir, prefixEntry string) (emptyDir bool, mergedEntries []string) {
|
||||
for _, disk := range disks {
|
||||
if disk == nil {
|
||||
continue
|
||||
@@ -38,6 +38,10 @@ func listDirFactory(ctx context.Context, disks ...StorageAPI) ListDirFunc {
|
||||
continue
|
||||
}
|
||||
|
||||
if len(entries) == 0 {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
// Find elements in entries which are not in mergedEntries
|
||||
for _, entry := range entries {
|
||||
idx := sort.SearchStrings(mergedEntries, entry)
|
||||
@@ -54,7 +58,7 @@ func listDirFactory(ctx context.Context, disks ...StorageAPI) ListDirFunc {
|
||||
sort.Strings(mergedEntries)
|
||||
}
|
||||
}
|
||||
return filterMatchingPrefix(mergedEntries, prefixEntry)
|
||||
return false, filterMatchingPrefix(mergedEntries, prefixEntry)
|
||||
}
|
||||
return listDir
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user