Revert "vf/remap: return the amount of bytes actually deduplicated"
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 14 Jul 2022 22:35:24 +0000 (15:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 14 Jul 2022 22:35:24 +0000 (15:35 -0700)
This reverts commit 4a57a8400075bc5287c5c877702c68aeae2a033d.

Dave Chinner reports:
 "As I suspected would occur, this change causes test failures. e.g
  generic/517 in fstests fails with:

  generic/517 1s ... - output mismatch [..]
  -deduped 131172/131172 bytes at offset 65536
  +deduped 131072/131172 bytes at offset 65536"

  can you please revert this commit for the 5.19 series to give us more
  time to investigate and consider the impact of the the API change on
  userspace applications before we commit to changing the API"

That changed return value seems to reflect reality, but with the fstest
change, let's revert for now.

Requested-by: Dave Chinner <david@fromorbit.com>
Link: https://lore.kernel.org/all/20220714223238.GH3600936@dread.disaster.area/
Cc: Ansgar Lößer <ansgar.loesser@tu-darmstadt.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/remap_range.c

index 5e0d97e..881a306 100644 (file)
@@ -547,7 +547,7 @@ int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same)
                else if (deduped < 0)
                        info->status = deduped;
                else
-                       info->bytes_deduped = deduped;
+                       info->bytes_deduped = len;
 
 next_fdput:
                fdput(dst_fd);