diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c index fa6e49a4ba37..e6f5a17a13e3 100644 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@ -3381,7 +3381,13 @@ static void cache_save_setup(struct btrfs_block_group *block_group, } if (IS_ERR(inode)) { - BUG_ON(retries); + if (retries) { + ret = PTR_ERR(inode); + btrfs_err(fs_info, + "failed to lookup free space inode after creation for block group %llu: %d", + block_group->start, ret); + goto out_free; + } retries++; if (block_group->ro)