|
@@ -257,10 +257,13 @@ static noinline int cow_file_range_inline(struct btrfs_trans_handle *trans,
|
|
|
ret = insert_inline_extent(trans, root, inode, start,
|
|
|
inline_len, compressed_size,
|
|
|
compress_type, compressed_pages);
|
|
|
- if (ret) {
|
|
|
+ if (ret && ret != -ENOSPC) {
|
|
|
btrfs_abort_transaction(trans, root, ret);
|
|
|
return ret;
|
|
|
+ } else if (ret == -ENOSPC) {
|
|
|
+ return 1;
|
|
|
}
|
|
|
+
|
|
|
btrfs_delalloc_release_metadata(inode, end + 1 - start);
|
|
|
btrfs_drop_extent_cache(inode, start, aligned_end - 1, 0);
|
|
|
return 0;
|