1. A method for data repair in a storage system comprising: determining, by a processor, a minimum number of missing data blocks needed to repair a corrupted object in a first portion of the storage system using erasure codes, wherein the missing data blocks are not available in the first portion of the storage system; retrieving only the minimum number of missing data blocks needed to repair the corrupted object from an uncorrupted copy of the corrupted object stored in a second portion of the storage system; and repairing the corrupted object in the first portion of the storage system using erasure codes and the retrieved minimum number of missing data blocks.