make sure to pass Lifecycle if set for List filtering (#14722)

PR #14606 never really passed the Lifecycle filter
down to the listing callers to ensure skipping the
entries.
This commit is contained in:
Harshavardhana
2022-04-10 11:14:52 -07:00
committed by GitHub
parent 4ce86ff5fa
commit e77ad3f9bb
3 changed files with 12 additions and 12 deletions

View File

@@ -291,9 +291,9 @@ func (z *erasureServerPools) listMerged(ctx context.Context, o listPathOptions,
mu.Unlock()
// Do lifecycle filtering.
if o.lcFilter != nil {
if o.Lifecycle != nil {
filterIn := make(chan metaCacheEntry, 10)
go filterLifeCycle(ctx, o.Bucket, o.lcFilter, filterIn, results)
go filterLifeCycle(ctx, o.Bucket, o.Lifecycle, filterIn, results)
// Replace results.
results = filterIn
}
@@ -381,6 +381,8 @@ func filterLifeCycle(ctx context.Context, bucket string, lc *lifecycle.Lifecycle
action := evalActionFromLifecycle(ctx, *lc, objInfo, false)
switch action {
case lifecycle.DeleteVersionAction, lifecycle.DeleteAction:
fallthrough
case lifecycle.DeleteRestoredAction, lifecycle.DeleteRestoredVersionAction:
// Skip this entry.
continue
}