diff options
author | Filipe David Borba Manana <fdmanana@gmail.com> | 2013-11-30 12:28:35 +0100 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-01-28 22:19:51 +0100 |
commit | d527afe1e5865d25a336f6c4157f1086cfbddc81 (patch) | |
tree | 64a5ee8be939e073765a984460d130b6294a24b9 | |
parent | btrfs: remove dead code (diff) | |
download | linux-d527afe1e5865d25a336f6c4157f1086cfbddc81.tar.xz linux-d527afe1e5865d25a336f6c4157f1086cfbddc81.zip |
Btrfs: fix extent_map block_len after merging
When merging an extent_map with its right neighbor, increment
its block_len with the neighbor's block_len.
Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
-rw-r--r-- | fs/btrfs/extent_map.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c index b60955d4f9bf..996ad56b57db 100644 --- a/fs/btrfs/extent_map.c +++ b/fs/btrfs/extent_map.c @@ -255,7 +255,7 @@ static void try_merge_map(struct extent_map_tree *tree, struct extent_map *em) merge = rb_entry(rb, struct extent_map, rb_node); if (rb && mergable_maps(em, merge)) { em->len += merge->len; - em->block_len += merge->len; + em->block_len += merge->block_len; rb_erase(&merge->rb_node, &tree->map); merge->in_tree = 0; em->mod_len = (merge->mod_start + merge->mod_len) - em->mod_start; |