From: Stelian Pop Date: Mon, 22 Mar 2010 16:08:10 +0000 (+0000) Subject: Properly deal with inodes excluded from incremental dump X-Git-Tag: release_0_4b43~7 X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=commitdiff_plain;h=f6e1ffa4b425c735543d6c87f93c2e4bf207f1bb;hp=f6e1ffa4b425c735543d6c87f93c2e4bf207f1bb Properly deal with inodes excluded from incremental dump Files which are excluded from a dump (via -e or the nodump attribute) still have their inode marked as in-use in the dump header. This can cause problems when restoring from an incremental dump, if that inode is currently assigned in the symtable: - If assigned to a file that is being overwritten by another inode, the old entry will be renamed away, but never reclaimed, thus leaving the TMPNAME flag turned on and preventing its removal. - If assigned to a directory, that directory will not be removed by removeoldleaves(), and its entry will linger on in its parent's e_entries. - If its parent is being updated, removeleaf() will wrongly be called on the entry. The above comment about TMPNAME also applies. - If its parent is being deleted, this will fail due to the entry's presence. ---