System and method for performing restores from backups while applications
are active and accessing the data being restored. A map correlating destination
locations on primary storage to source locations on backup storage for files to
be restored may be generated. A restore of the files from the backup storage to
the primary storage may be started. During the restore, one or more blocks of data
of a file needed by an application may be determined. The map may be accessed to
determine if the blocks have been restored. If the blocks have not been restored,
the blocks may be restored from the backup storage to the primary storage. The
restored blocks of data are accessible by the application while the restore is
in progress. The map may be updated to indicate blocks of data that have been restored
to the primary storage.