This was a bug from long time ago that never actually got fixed.  We start
with bytenr 0 when looping through all of the block groups, but
btrfs_lookup_block_group will bail out since it couldn't find a block group
with 0 as the bytenr.  Btrfs_lookup_first_block_group will be nice and
adjust the start up to the right value, so this way we reset all the block
groups properly and not screw up the users block group accounting.  Thanks,

Signed-off-by: Josef Bacik <jba...@fusionio.com>
---
 extent-tree.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/extent-tree.c b/extent-tree.c
index 20cdffa..10cc995 100644
--- a/extent-tree.c
+++ b/extent-tree.c
@@ -3406,7 +3406,7 @@ int btrfs_fix_block_accounting(struct btrfs_trans_handle 
*trans,
        }
 
        while(1) {
-               cache = btrfs_lookup_block_group(fs_info, start);
+               cache = btrfs_lookup_first_block_group(fs_info, start);
                if (!cache)
                        break;
                start = cache->key.objectid + cache->key.offset;
-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to