A method implemented at least in part by a computer, the method comprising: opening a change journal that includes records that indicate file system objects that have changed, the file system objects included in a live file system; reading the change journal record by record and incrementally creating tree data structure fragments based on the records of the change journal, wherein each of the records includes an identifier of a file system object that has changed and an identifier of a parent of the file system object, wherein if a node for the file system object exists in one of the tree data structure fragments, the node for the file system object is updated based on the change that occurred, and if a node already exists that corresponds to the identifier of the parent included in the record, the nodes are connected, wherein the tree data structure fragments are not fully connected in a tree data structure; after reading the records of the change journal, creating a tree data structure including a root directory based on the tree data structure fragments, by filling in the rest of the tree data structure by querying the live file system for parent objects of an oldest ancestor node of each tree data structure fragment until a root node is found; updating the tree data structure that indicates paths of the file system objects that have changed; if a file system object reflected in the tree data structure changed after reading the change journal, reading more of the change journal and updating the tree data structure in accordance with respective records of the change journal; and updating a catalog using the tree data structure, the catalog usable to construct a namespace of the live file system that existed at a backup set time covered by the catalog, the namespace indicating files and directories that existed in the live file system at the backup set time. opening a change journal that includes records that indicate file system objects that have changed, the file system objects included in a live file system; reading the change journal record by record and incrementally creating tree data structure fragments based on the records of the change journal, wherein each of the records includes an identifier of a file system object that has changed and an identifier of a parent of the file system object, wherein if a node for the file system object exists in one of the tree data structure fragments, the node for the file system object is updated based on the change that occurred, and if a node already exists that corresponds to the identifier of the parent included in the record, the nodes are connected, wherein the tree data structure fragments are not fully connected in a tree data structure; after reading the records of the change journal, creating a tree data structure including a root directory based on the tree data structure fragments, by filling in the rest of the tree data structure by querying the live file system for parent objects of an oldest ancestor node of each tree data structure fragment until a root node is found; updating the tree data structure that indicates paths of the file system objects that have changed; if a file system object reflected in the tree data structure changed after reading the change journal, reading more of the change journal and updating the tree data structure in accordance with respective records of the change journal; and updating a catalog using the tree data structure, the catalog usable to construct a namespace of the live file system that existed at a backup set time covered by the catalog, the namespace indicating files and directories that existed in the live file system at the backup set time.