Another day, another revision, hopefully this is the last one.
Changes since v2:
* Reworked patch 1 and made async_cow be the top-level context struct and each
chunk is tracked by async_chunk. This cleansup the pointer gymnastics I was
doing in the previous version (Johannes)
* Reworded changelogs in various patches to reflect the usage of async_chunk.
* Fixed changelog in patch2 to properly reflect fs_info is referenced from
btrfs_work (Johannes)
* Added Reviwed-by to patches 4/5/6
Changes since v1:
* Fixed error handling in patch 1 - now properly cleanup on failure.
* Fixed subject of patch 3
* Added patches 4/5 as minor cleanups to the code.
Nikolay Borisov (6):
btrfs: Refactor cow_file_range_async
btrfs: Remove fs_info from struct async_chunk
btrfs: Make compress_file_range take only struct async_chunk
btrfs: Replace clear_extent_bit with unlock_extent
btrfs: Set iotree only once in submit_compressed_extents
btrfs: Factor out common extent locking code in
submit_compressed_extents
fs/btrfs/inode.c | 148 +++++++++++++++++++++++++++--------------------
1 file changed, 84 insertions(+), 64 deletions(-)
--
2.17.1