Update on patch 4 and 6, other is not changed. This nlink repair function is more generic than the original one.
The old one can only handle a specific case that the inode_ref is invalid, either point to a non-exist parent inode or point to a invalid inode(not dir or conflicting index/name). The new one will reset all the backref, no matter it is valid or not, and re-add all the valid backref, this make the nlink handles more corrupt cases. Qu Wenruo (6): btrfs-progs: print root dir verbose error in fsck btrfs-progs: Import btrfs_insert/del/lookup_extref() functions. btrfs-progs: Import lookup/del_inode_ref() function. btrfs-progs: Add btrfs_unlink() and btrfs_add_link() functions. btrfs-progs: Add btrfs_mkdir() function for the incoming 'lost+found' fsck mechanism. btrfs-progs: Add fixing function for inodes whose nlink dismatch Makefile | 2 +- cmds-check.c | 311 ++++++++++++++++++++++++++++++++++++-- ctree.c | 6 + ctree.h | 38 +++++ inode-item.c | 318 +++++++++++++++++++++++++++++++++++++++ inode.c | 484 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 1148 insertions(+), 11 deletions(-) create mode 100644 inode.c -- 2.1.3 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html