Btrfs: add an assert to btrfs_lookup_csums_range for alignment
authorJosef Bacik <jbacik@fusionio.com>
Tue, 15 Oct 2013 13:36:40 +0000 (09:36 -0400)
committerChris Mason <chris.mason@fusionio.com>
Tue, 12 Nov 2013 02:58:45 +0000 (21:58 -0500)
I was hitting weird issues when trying to remove hole extents and it turned out
it was because I was sending non-aligned offsets down to
btrfs_lookup_csums_range.  So add an assert for this in case somebody trips over
this in the future.  Thanks,

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

index 4f53159bdb9d4fd9d4421cab7399abe562467bc8..ae8a5139e0eea5ec606068f30f3b3022a5933d54 100644 (file)
@@ -329,6 +329,9 @@ int btrfs_lookup_csums_range(struct btrfs_root *root, u64 start, u64 end,
        u64 csum_end;
        u16 csum_size = btrfs_super_csum_size(root->fs_info->super_copy);
 
+       ASSERT(start == ALIGN(start, root->sectorsize) &&
+              (end + 1) == ALIGN(end + 1, root->sectorsize));
+
        path = btrfs_alloc_path();
        if (!path)
                return -ENOMEM;