Btrfs: Extra NULL block group checks in find_free_extent
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
@@ -1319,6 +1319,12 @@ static int find_free_extent(struct btrfs_trans_handle *trans, struct btrfs_root
|
|||||||
total_needed += empty_size;
|
total_needed += empty_size;
|
||||||
path = btrfs_alloc_path();
|
path = btrfs_alloc_path();
|
||||||
check_failed:
|
check_failed:
|
||||||
|
if (!block_group) {
|
||||||
|
block_group = btrfs_lookup_block_group(info, search_start);
|
||||||
|
if (!block_group)
|
||||||
|
block_group = btrfs_lookup_block_group(info,
|
||||||
|
orig_search_start);
|
||||||
|
}
|
||||||
search_start = find_search_start(root, &block_group, search_start,
|
search_start = find_search_start(root, &block_group, search_start,
|
||||||
total_needed, data, full_scan);
|
total_needed, data, full_scan);
|
||||||
search_start = stripe_align(root, search_start);
|
search_start = stripe_align(root, search_start);
|
||||||
|
Reference in New Issue
Block a user