diff --git a/[refs] b/[refs] index 1f032d6be402..aea505f75b76 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7073c8e852946274e4d50fdf072438612f9dc845 +refs/heads/master: 0e4de58432f552c0ecead965b0fad8a9fb1d31ec diff --git a/trunk/fs/btrfs/extent-tree.c b/trunk/fs/btrfs/extent-tree.c index 6a7a9ba75fd9..39be6baccc36 100644 --- a/trunk/fs/btrfs/extent-tree.c +++ b/trunk/fs/btrfs/extent-tree.c @@ -204,6 +204,7 @@ static u64 find_search_start(struct btrfs_root *root, wrapped: cache = btrfs_lookup_block_group(root->fs_info, last); if (!cache) { +no_cache: if (!wrapped) { wrapped = 1; last = search_start; @@ -219,6 +220,8 @@ static u64 find_search_start(struct btrfs_root *root, } if (!full_scan) cache = btrfs_find_block_group(root, cache, last, data, 0); + if (!cache) + goto no_cache; *cache_ret = cache; cache_miss = 0; goto again;