Btrfs: fix hole check in log_one_extent

I added an assert to make sure we were looking up aligned offsets for csums and
I tripped it when running xfstests.  This is because log_one_extent was checking
if block_start == 0 for a hole instead of EXTENT_MAP_HOLE.  This worked out fine
in practice it seems, but it adds a lot of extra work that is uneeded.  With
this fix I'm no longer tripping my assert.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
Josef Bacik 2013-10-14 17:23:08 -04:00 committed by Chris Mason
parent 0e30db86a4
commit ed9e8af88e

View File

@ -3373,7 +3373,7 @@ static int log_one_extent(struct btrfs_trans_handle *trans,
btrfs_set_token_file_extent_type(leaf, fi, btrfs_set_token_file_extent_type(leaf, fi,
BTRFS_FILE_EXTENT_REG, BTRFS_FILE_EXTENT_REG,
&token); &token);
if (em->block_start == 0) if (em->block_start == EXTENT_MAP_HOLE)
skip_csum = true; skip_csum = true;
} }