From: Filipe Manana <fdmanana@xxxxxxxx> This patchset adds support for currently unsupported cases of reflink operations that cover a file range that has inline extents, more details on why/how in patch 4/4. It also starts by moving all the reflink code out of ioctl.c into a new file named reflink.c (like xfs does) since this code is quite significant in size and has grown over the years. Filipe Manana (4): Btrfs: move all reflink implementation code into its own file Btrfs: simplify inline extent handling when doing reflinks Btrfs: resurrect extent_read_full_page_nolock() Btrfs: implement full reflink support for inline extents fs/btrfs/Makefile | 2 +- fs/btrfs/compression.c | 8 +- fs/btrfs/ctree.h | 2 + fs/btrfs/extent_io.c | 47 ++- fs/btrfs/extent_io.h | 3 + fs/btrfs/ioctl.c | 733 ------------------------------------- fs/btrfs/reflink.c | 803 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 854 insertions(+), 744 deletions(-) create mode 100644 fs/btrfs/reflink.c -- 2.25.0
