diff options
author | Jan Schmidt <list.btrfs@jan-o-sch.net> | 2012-05-15 11:55:51 -0400 |
---|---|---|
committer | Jan Schmidt <list.btrfs@jan-o-sch.net> | 2012-05-26 06:17:51 -0400 |
commit | d5c88b735fdf2ef796bb937396dd58dac84e8407 (patch) | |
tree | 791a9d9f670bacfd153680f9ef992f40099734bd /fs/efs/inode.c | |
parent | dadcaf78b51e239d93f5ec9aac736de99081ee74 (diff) |
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/efs/inode.c')
0 files changed, 0 insertions, 0 deletions