heal/list: Fix rare incomplete listing with flaky internode connections (#19625)

listPathRaw() counts errDiskNotFound as a valid error to indicate a
listing stream end. However, storage.WalkDir() is allowed to return
errDiskNotFound anytime since grid.ErrDisconnected is converted to
errDiskNotFound.

This affects fresh disk healing and should affect S3 listing as well.
This commit is contained in:
Anis Eleuch 2024-04-26 20:52:52 +01:00 committed by GitHub
parent 410a1ac040
commit d8e05aca81
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 1 additions and 2 deletions

View File

@ -1095,8 +1095,7 @@ func listPathRaw(ctx context.Context, opts listPathRawOptions) (err error) {
switch err.Error() {
case errFileNotFound.Error(),
errVolumeNotFound.Error(),
errUnformattedDisk.Error(),
errDiskNotFound.Error():
errUnformattedDisk.Error():
atEOF++
fnf++
// This is a special case, to handle bucket does