diff --git a/[refs] b/[refs] index 38a703f4d3dd..ebc24f35aa3c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 83eea1f1bacd5dc7b44dcf84f5fdca54fdea5453 +refs/heads/master: 067893842341e7b7487062367ecfaa46c97505e0 diff --git a/trunk/fs/btrfs/extent-tree.c b/trunk/fs/btrfs/extent-tree.c index d1ebd2a06116..67bd12a52369 100644 --- a/trunk/fs/btrfs/extent-tree.c +++ b/trunk/fs/btrfs/extent-tree.c @@ -5748,7 +5748,11 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans, ret = do_chunk_alloc(trans, root, num_bytes + 2 * 1024 * 1024, data, CHUNK_ALLOC_LIMITED); - if (ret < 0) { + /* + * Do not bail out on ENOSPC since we + * can do more things. + */ + if (ret < 0 && ret != -ENOSPC) { btrfs_abort_transaction(trans, root, ret); goto out;