Btrfs-progs: check all slots in leaves
authorJosef Bacik <jbacik@fb.com>
Tue, 30 Sep 2014 20:56:05 +0000 (16:56 -0400)
committerDavid Sterba <dsterba@suse.cz>
Wed, 1 Oct 2014 14:59:10 +0000 (16:59 +0200)
There's an off by one error in btrfs_check_leaf, we should be going to nritems -
1, not nritems - 2, we were missing problems with items in the very last slot.
Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
ctree.c

diff --git a/ctree.c b/ctree.c
index 9e5b30f..c085941 100644 (file)
--- a/ctree.c
+++ b/ctree.c
@@ -494,7 +494,7 @@ btrfs_check_leaf(struct btrfs_root *root, struct btrfs_disk_key *parent_key,
                       (unsigned long long)btrfs_header_bytenr(buf));
                goto fail;
        }
-       for (i = 0; nritems > 1 && i < nritems - 2; i++) {
+       for (i = 0; nritems > 1 && i < nritems - 1; i++) {
                btrfs_item_key(buf, &key, i);
                btrfs_item_key_to_cpu(buf, &cpukey, i + 1);
                if (btrfs_comp_keys(&key, &cpukey) >= 0) {