[GIT PULL] fs: Deduplication ioctl fix

From: David Sterba
Date: Mon Jan 27 2020 - 12:19:40 EST


Hi,

this is a fix for deduplication bug, the last block of two files is
allowed to deduplicated. This got broken in 5.1 by lifting some generic
checks to VFS layer. The affected filesystems are btrfs and xfs.

As the report came from btrfs users, the patches go through my git repo.
The xfs maintainer is aware of the fix, I don't have ack from VFS
maintainers but given the scope of the fix I believe it's not strictly
necessary.

The branch was in linux-next only for a short time as I was not sure how
exactly it's going to be merged, nevertheless enough testing was done
on both filesystems. The patches are marked for stable as the bug
decreases deduplication effectivity.

If there's something wrong about the pull request, please let me know. I
did what I felt was best to get the fix merged, patches that touch files
in fs/ but are not pure VFS are bit fuzzy regarding the process.

There are no merge conflicts (btrfs, vfs). Please pull, thanks.

----------------------------------------------------------------
The following changes since commit def9d2780727cec3313ed3522d0123158d87224d:

Linux 5.5-rc7 (2020-01-19 16:02:49 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git fs-dedupe-last-block-tag

for you to fetch changes up to 831d2fa25ab8e27592b1b0268dae6f2dfaf7cc43:

Btrfs: make deduplication with range including the last block work (2020-01-23 18:24:07 +0100)

----------------------------------------------------------------
Filipe Manana (2):
fs: allow deduplication of eof block into the end of the destination file
Btrfs: make deduplication with range including the last block work

fs/btrfs/ioctl.c | 3 ++-
fs/read_write.c | 10 ++++------
2 files changed, 6 insertions(+), 7 deletions(-)