fix(listing): resolve undecidable list entries against the locked read path

Refs: https://github.com/pgsty/silo/issues/218

Signed-off-by: mr javad seydi <seydi.birjand@gmail.com>
This commit is contained in:
mr javad seydi
2026-09-19 22:11:10 +03:30
parent 2fde3cf535
commit 258b167b1c
9 changed files with 272 additions and 18 deletions
+3 -3
View File
@@ -86,7 +86,7 @@ func (er erasureObjects) listAndHeal(ctx context.Context, bucket, prefix string,
cancel()
}
},
partial: func(entries metaCacheEntries, _ []error) {
partial: func(entries metaCacheEntries, _ []error) error {
entry, ok := entries.resolve(&resolver)
if !ok {
// check if we can get one entry at least
@@ -94,12 +94,12 @@ func (er erasureObjects) listAndHeal(ctx context.Context, bucket, prefix string,
entry, _ = entries.firstFound()
}
if !recursive && prefix != entry.name {
return
return nil
}
if err := healEntry(bucket, *entry, scanMode); err != nil {
cancel()
return
}
return nil
},
finished: nil,
}