×

Efficient building of restore list

  • US 10,013,424 B2
  • Filed: 04/02/2015
  • Issued: 07/03/2018
  • Est. Priority Date: 09/30/2011
  • Status: Active Grant
First Claim
Patent Images

1. A system for building a restore list for a restore, comprising:

  • a processor configured to;

    determine a root directory and a time of a restore;

    receive a directory index for the root directory, wherein the content of the directory index is determined from a most recent incremental backup of the root directory at the time of the restore;

    add subdirectories in the directory index to a list of directories to traverse; and

    add one or more files in the directory index to a restore list in response to the one or more files being not already present on the restore list, comprising;

    selecting a file of the one or more files in the directory index;

    determining whether the file is already present on the restore list, and in response to the file being not already present on the restore list, adding the file to the restore list, wherein the restore list is ordered by a storage location of each backup file associated with a file in the restore list, and comprises a backup version the file is stored in, an offset within the backup version, and a file size; and

    determining whether the file and another file in the restore list are stored adjacently in a same backup version, and in response to the file and the another file being stored adjacently in the same backup version as the file is added to the restore list or after at least a portion of the restore list has been built, determining a coalesced file offset as either a file offset of the file or as another file offset of the another file and a coalesced file size to be the sum of a file size of the file and another file size of the another file; and

    removing one of the subdirectories on the list of directories to traverse from the list of directories to traverse after processing;

    in response to the list of directories to traverse being empty, indicating that the entire root directory structure for the incremental backup of the root directory has been traversed; and

    creating a synthetic full backup of data in the root directory at the time of the restore based at least in part on the restore list; and

    a memory coupled to the processor and configured to provide the processor with instructions.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×