summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/backref.h
diff options
context:
space:
mode:
authorJan Schmidt2012-05-15 17:55:51 +0200
committerJan Schmidt2012-05-26 12:17:51 +0200
commitd5c88b735fdf2ef796bb937396dd58dac84e8407 (patch)
tree791a9d9f670bacfd153680f9ef992f40099734bd /fs/btrfs/backref.h
parentBtrfs: bugfix in btrfs_find_parent_nodes (diff)
downloadkernel-qcow2-linux-d5c88b735fdf2ef796bb937396dd58dac84e8407.tar.gz
kernel-qcow2-linux-d5c88b735fdf2ef796bb937396dd58dac84e8407.tar.xz
kernel-qcow2-linux-d5c88b735fdf2ef796bb937396dd58dac84e8407.zip
Btrfs: bugfix: ignore the wrong key for indirect tree block backrefs
The key we store with a tree block backref is only a hint. It is set when the ref is created and can remain correct for a long time. As the tree is rebalanced, however, eventually the key no longer points to the correct destination. With this patch, we change find_parent_nodes to no longer add keys unless it knows for sure they're correct (e.g. because they're for an extent data backref). Then when we later encounter a backref ref with no parent and no key set, we grab the block and take the first key from the block itself. Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Diffstat (limited to 'fs/btrfs/backref.h')
0 files changed, 0 insertions, 0 deletions