fix: close chan before return in scanner usage updates (#16960)

This commit is contained in:
jiuker 2023-04-05 01:51:05 +08:00 committed by GitHub
parent 699a24f7e5
commit 6e359c586e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -175,10 +175,12 @@ func (p *xlStorageDiskIDCheck) Healing() *healingTracker {
func (p *xlStorageDiskIDCheck) NSScanner(ctx context.Context, cache dataUsageCache, updates chan<- dataUsageEntry, scanMode madmin.HealScanMode) (dataUsageCache, error) { func (p *xlStorageDiskIDCheck) NSScanner(ctx context.Context, cache dataUsageCache, updates chan<- dataUsageEntry, scanMode madmin.HealScanMode) (dataUsageCache, error) {
if contextCanceled(ctx) { if contextCanceled(ctx) {
close(updates)
return dataUsageCache{}, ctx.Err() return dataUsageCache{}, ctx.Err()
} }
if err := p.checkDiskStale(); err != nil { if err := p.checkDiskStale(); err != nil {
close(updates)
return dataUsageCache{}, err return dataUsageCache{}, err
} }
return p.storage.NSScanner(ctx, cache, updates, scanMode) return p.storage.NSScanner(ctx, cache, updates, scanMode)