diff --git a/cmd/metacache-walk.go b/cmd/metacache-walk.go index 38c91f061..a30244b1d 100644 --- a/cmd/metacache-walk.go +++ b/cmd/metacache-walk.go @@ -407,12 +407,12 @@ func (client *storageRESTClient) WalkDir(ctx context.Context, opts WalkDirOption opts.DiskID = client.diskID b, err := opts.MarshalMsg(grid.GetByteBuffer()[:0]) if err != nil { - return err + return toStorageErr(err) } st, err := client.gridConn.NewStream(ctx, grid.HandlerWalkDir, b) if err != nil { - return err + return toStorageErr(err) } return toStorageErr(st.Results(func(in []byte) error { _, err := wr.Write(in) diff --git a/cmd/storage-rest-client.go b/cmd/storage-rest-client.go index b56e7af1a..61e5f045b 100644 --- a/cmd/storage-rest-client.go +++ b/cmd/storage-rest-client.go @@ -87,6 +87,8 @@ func toStorageErr(err error) error { switch err.Error() { case errFaultyDisk.Error(): return errFaultyDisk + case errFaultyRemoteDisk.Error(): + return errFaultyRemoteDisk case errFileCorrupt.Error(): return errFileCorrupt case errUnexpected.Error(): @@ -135,6 +137,16 @@ func toStorageErr(err error) error { return errDiskNotFound case errDiskNotFound.Error(): 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 }