Incremental dump with a metadata container walk using inode-to-parent mapping information
AssigneeNetApp, Inc.
InventorsFang Wang, Ling Zheng, Stephen Manley
Life of this patent
Estimating the term…
Abstract
An embodiment of the invention provides a traversal engine that traverses (walks) through metadata containers (e.g., inodes) in a file system and determines the metadata containers that have been modified (added, changed, deleted, or renamed) within a particular time interval. A modified metadata container corresponds to a data container (e.g., file or directory) that has been modified within the particular time interval. The traversal engine records, into a table, information about the modified metadata containers. The traversal engine also records, into the table, parent information corresponding to an immediate parent of a modified data container.
Claims16
A method for an incremental dump procedure without performing a walkthrough of all of the directory hierarchies in a file system, the method comprising:
- accessing in a storage server a file system that contains a plurality of data containers and a plurality of metadata containers, each of the plurality of metadata containers corresponding to a separate one of the plurality of data containers;
- traversing the plurality of metadata containers in the file system to read each of the plurality of metadata containers and determine whether each of the plurality of metadata containers has been modified since a previous backup;
- for each metadata container determined to have been modified during said traversing, recording, into a table, metadata including a parent information of the modified metadata container and information of the modified metadata container;
- recording, into the table, metadata including an upper parent information corresponding to an upper parent of the immediate parent of at least one modified metadata container;
- marking a flag value in the table for each previously traversed metadata container and using each said flag value to avoid subsequently reading and copying a previously traversed metadata container;
- reading the table to determine each modified data container since the previous backup, an immediate parent of each modified data container since the previous backup, and each upper parent corresponding to the upper parent information;
- and
- based on information in the table, saving, into a media, a modified data container corresponding to each modified metadata container since the previous backup, the immediate parent of each modified metadata container since the previous backup, and each said upper parent.
An apparatus comprising:
- a file system to manage a plurality of data containers and a plurality of metadata containers, each of the plurality of metadata containers corresponding to a separate one of the plurality of data containers;
- and
- a processor configured to
- access the file system;
- traverse the plurality of metadata containers in the file system to read each of the plurality of metadata containers and determine whether each of the plurality of metadata containers has been modified since a previous backup;
- for each metadata container determined to have been modified during said traversing, record, into a table, metadata including a parent information of the modified metadata container and information of the modified metadata container;
- record, into the table, metadata including an upper parent information corresponding to an upper parent of the immediate parent of at least one modified metadata container;
- mark a flag value in the table for each previously traversed metadata container and using each said flag value to avoid subsequently reading and copying a previously traversed metadata container;
- read the table to determine each modified data container since the previous backup, an immediate parent of each modified data container since the previous backup, and each upper parent corresponding to the upper parent information;
- and
- based on information in the table, save, into a media, a modified data container corresponding to each modified metadata container since the previous backup, the immediate parent of each modified metadata container since the previous backup, and each said upper parent.
Dependencies are inferred from the claim text.