mirror of
https://github.com/minio/minio.git
synced 2025-04-01 10:13:42 -04:00
add missing proper error return in WalkDir() (#18884)
without this the caller might end up returning incorrect errors and not ignoring the drive properly.
This commit is contained in:
parent
32e668eb94
commit
6347fb6636
@ -407,12 +407,12 @@ func (client *storageRESTClient) WalkDir(ctx context.Context, opts WalkDirOption
|
|||||||
opts.DiskID = client.diskID
|
opts.DiskID = client.diskID
|
||||||
b, err := opts.MarshalMsg(grid.GetByteBuffer()[:0])
|
b, err := opts.MarshalMsg(grid.GetByteBuffer()[:0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return toStorageErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
st, err := client.gridConn.NewStream(ctx, grid.HandlerWalkDir, b)
|
st, err := client.gridConn.NewStream(ctx, grid.HandlerWalkDir, b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return toStorageErr(err)
|
||||||
}
|
}
|
||||||
return toStorageErr(st.Results(func(in []byte) error {
|
return toStorageErr(st.Results(func(in []byte) error {
|
||||||
_, err := wr.Write(in)
|
_, err := wr.Write(in)
|
||||||
|
@ -87,6 +87,8 @@ func toStorageErr(err error) error {
|
|||||||
switch err.Error() {
|
switch err.Error() {
|
||||||
case errFaultyDisk.Error():
|
case errFaultyDisk.Error():
|
||||||
return errFaultyDisk
|
return errFaultyDisk
|
||||||
|
case errFaultyRemoteDisk.Error():
|
||||||
|
return errFaultyRemoteDisk
|
||||||
case errFileCorrupt.Error():
|
case errFileCorrupt.Error():
|
||||||
return errFileCorrupt
|
return errFileCorrupt
|
||||||
case errUnexpected.Error():
|
case errUnexpected.Error():
|
||||||
@ -135,6 +137,16 @@ func toStorageErr(err error) error {
|
|||||||
return errDiskNotFound
|
return errDiskNotFound
|
||||||
case errDiskNotFound.Error():
|
case errDiskNotFound.Error():
|
||||||
return errDiskNotFound
|
return errDiskNotFound
|
||||||
|
case errMaxVersionsExceeded.Error():
|
||||||
|
return errMaxVersionsExceeded
|
||||||
|
case errInconsistentDisk.Error():
|
||||||
|
return errInconsistentDisk
|
||||||
|
case errDriveIsRoot.Error():
|
||||||
|
return errDriveIsRoot
|
||||||
|
case errDiskOngoingReq.Error():
|
||||||
|
return errDiskOngoingReq
|
||||||
|
case grid.ErrUnknownHandler.Error():
|
||||||
|
return errInconsistentDisk
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user