Btrfs: do not offset physical if we're compressed
authorJosef Bacik <jbacik@fusionio.com>
Fri, 5 Jul 2013 17:52:51 +0000 (13:52 -0400)
committerChris Mason <chris.mason@fusionio.com>
Fri, 9 Aug 2013 23:29:50 +0000 (19:29 -0400)
commitb76bb70136375c32d3b0bbbe2ebef738913d5b90
tree1bc8aa36f47041ebf67fc4254bf69b375e3a13ce
parentb5b9b5b318f9b6fef1bd3e2c8c63d0bff47703a1
Btrfs: do not offset physical if we're compressed

xfstest btrfs/276 was freaking out on slower boxes partly because fiemap was
offsetting the physical based on the extent offset.  This is perfectly fine with
uncompressed extents, however the extent offset is into the uncompressed area,
not the compressed.  So we can return a physical value that isn't at all within
the area we have allocated on disk.  Fix this by returning the start of the
extent if it is compressed no matter what the offset.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/extent_io.c