Here is v2 of factoring out common code when flushing ordered extent. The main change in this version is the switch from inode to btrfs_inode for function interfaces as per David's feedback.
Nikolay Borisov (3): btrfs: Implement btrfs_lock_and_flush_ordered_range btrfs: Use newly introduced btrfs_lock_and_flush_ordered_range btrfs: Always use a cached extent_state in btrfs_lock_and_flush_ordered_range fs/btrfs/extent_io.c | 29 ++++---------------------- fs/btrfs/file.c | 14 ++----------- fs/btrfs/inode.c | 17 ++-------------- fs/btrfs/ordered-data.c | 45 +++++++++++++++++++++++++++++++++++++++++ fs/btrfs/ordered-data.h | 4 ++++ 5 files changed, 57 insertions(+), 52 deletions(-) -- 2.17.1