diff --git a/[refs] b/[refs] index 5cf28f4bd5b7..8ee7116e107d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b78d09bceb524ee6481c21b77bda22d766b10e6a +refs/heads/master: 1b22bad779be7fe07242be04749ec969164528b8 diff --git a/trunk/fs/btrfs/extent-tree.c b/trunk/fs/btrfs/extent-tree.c index b7e5f6898d07..97c12067a4b0 100644 --- a/trunk/fs/btrfs/extent-tree.c +++ b/trunk/fs/btrfs/extent-tree.c @@ -5301,10 +5301,8 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans, spin_lock(&last_ptr->refill_lock); if (last_ptr->block_group && (last_ptr->block_group->ro || - !block_group_bits(last_ptr->block_group, data))) { - offset = 0; + !block_group_bits(last_ptr->block_group, data))) goto refill_cluster; - } offset = btrfs_alloc_from_cluster(block_group, last_ptr, num_bytes, search_start); @@ -5355,7 +5353,7 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans, /* allocate a cluster in this block group */ ret = btrfs_find_space_cluster(trans, root, block_group, last_ptr, - offset, num_bytes, + search_start, num_bytes, empty_cluster + empty_size); if (ret == 0) { /*