|
@@ -4271,13 +4271,10 @@ int btrfs_check_data_free_space(struct inode *inode, u64 start, u64 len)
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|
|
|
- /*
|
|
|
- * Use new btrfs_qgroup_reserve_data to reserve precious data space
|
|
|
- *
|
|
|
- * TODO: Find a good method to avoid reserve data space for NOCOW
|
|
|
- * range, but don't impact performance on quota disable case.
|
|
|
- */
|
|
|
+ /* Use new btrfs_qgroup_reserve_data to reserve precious data space. */
|
|
|
ret = btrfs_qgroup_reserve_data(inode, start, len);
|
|
|
+ if (ret)
|
|
|
+ btrfs_free_reserved_data_space_noquota(inode, start, len);
|
|
|
return ret;
|
|
|
}
|
|
|
|