summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@fusionio.com>2012-08-07 16:25:13 -0400
committerChris Mason <chris.mason@fusionio.com>2012-10-01 15:19:00 -0400
commit74dd17fbe3d65829e75d84f00a9525b2ace93998 (patch)
tree84c7ffead9b44d2b7d73601aed5be7a5637e804b /fs/btrfs/extent_io.c
parent6d85ed05e16e7ff747025c8374f23d7d81c98540 (diff)
downloadlinux-74dd17fbe3d65829e75d84f00a9525b2ace93998.tar.bz2
Btrfs: fix btrfs send for inline items and compression
The btrfs send code was assuming the offset of the file item into the extent translated to bytes on disk. If we're compressed, this isn't true, and so it was off into extents owned by other files. It was also improperly handling inline extents. This solves a crash where we may have gone past the end of the file extent item by not testing early enough for an inline extent. It also solves problems where we have a whole between the end of the inline item and the start of the full extent. Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/extent_io.c')
-rw-r--r--fs/btrfs/extent_io.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 4c878476bb91..19319f5a91a8 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -4332,7 +4332,6 @@ static int release_extent_buffer(struct extent_buffer *eb, gfp_t mask)
/* Should be safe to release our pages at this point */
btrfs_release_extent_buffer_page(eb, 0);
-
call_rcu(&eb->rcu_head, btrfs_release_extent_buffer_rcu);
return 1;
}