check for context canceled after competing for locks (#13239)

once we have competed for locks, verify if the
context is still valid - this is to ensure that
we do not start readdir() or read() calls on the
drives on canceled connections.
This commit is contained in:
Harshavardhana
2021-09-17 14:11:01 -07:00
committed by GitHub
parent 66fcd02aa2
commit 5ed781a330
6 changed files with 49 additions and 91 deletions

View File

@@ -351,10 +351,8 @@ func (er *erasureObjects) streamMetadataParts(ctx context.Context, o listPathOpt
rpc := globalNotificationSys.restClientFromHash(o.Bucket)
for {
select {
case <-ctx.Done():
if contextCanceled(ctx) {
return entries, ctx.Err()
default:
}
// If many failures, check the cache state.
@@ -424,10 +422,8 @@ func (er *erasureObjects) streamMetadataParts(ctx context.Context, o listPathOpt
// We got a stream to start at.
loadedPart := 0
for {
select {
case <-ctx.Done():
if contextCanceled(ctx) {
return entries, ctx.Err()
default:
}
if partN != loadedPart {