diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2014-12-09 16:27:29 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2014-12-10 13:44:53 +0100 |
commit | 61d7fc4ee674b3f48943be83f39eaccf0d02b303 (patch) | |
tree | 9cd9b4844ba1ea5f0e48c8f88c8a9866c16724a4 /btrfstune.c | |
parent | 15bc913158710ce6c5bc9e48d902b36ff89f8d18 (diff) |
btrfs-progs: Add fixing function for inodes whose nlink dismatch
[BUG]
At least two users have already hit a bug in btrfs causing file
missing(Chromium config file).
The missing file's nlink is still 1 but its backref points to non-exist
parent inode.
This should be a kernel bug, but btrfsck fix is needed anyway.
[FIX]
For such nlink mismatch inode, we will reset all the inode_ref with its
dir_index/item (including valid one), and re-add the valids.
If there is no valid backref for it, create 'lost+found' under the root
of the subvolume and add link to the directory.
Reported-by: Mike Gavrilov <mikhail.v.gavrilov@gmail.com>
Reported-by: Ed Tomlinson <edt@aei.ca>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'btrfstune.c')
0 files changed, 0 insertions, 0 deletions