summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
diff options
context:
space:
mode:
authorChris Mason2007-12-11 18:42:00 +0100
committerChris Mason2008-09-25 17:03:58 +0200
commitd8d5f3e16d1ae4fe9b93312e083f2c04a95520f0 (patch)
tree3327d76311a31a9345a3019534bb043ff14d204f /fs/btrfs/file.c
parentBtrfs: Add back pointers from extents to the btree or file referencing them (diff)
downloadkernel-qcow2-linux-d8d5f3e16d1ae4fe9b93312e083f2c04a95520f0.tar.gz
kernel-qcow2-linux-d8d5f3e16d1ae4fe9b93312e083f2c04a95520f0.tar.xz
kernel-qcow2-linux-d8d5f3e16d1ae4fe9b93312e083f2c04a95520f0.zip
Btrfs: Add lowest key information to back refs for extent tree blocks as well.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/file.c')
-rw-r--r--fs/btrfs/file.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 5b1f90f06e03..1cc4d285951c 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -545,13 +545,10 @@ next_slot:
u64 disk_num_bytes = 0;
u64 extent_num_bytes = 0;
u64 root_gen;
+ u64 root_owner;
- if (leaf != root->node) {
- root_gen =
- btrfs_header_generation(path->nodes[1]);
- } else {
- root_gen = btrfs_header_generation(leaf);
- }
+ root_gen = btrfs_header_generation(leaf);
+ root_owner = btrfs_header_owner(leaf);
if (found_extent) {
disk_bytenr =
btrfs_file_extent_disk_bytenr(leaf,
@@ -575,7 +572,7 @@ next_slot:
ret = btrfs_free_extent(trans, root,
disk_bytenr,
disk_num_bytes,
- root->root_key.objectid,
+ root_owner,
root_gen, inode->i_ino,
key.offset, 0);
}