aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/async-thread.h
diff options
context:
space:
mode:
authorMark Fasheh <[email protected]>2015-06-08 22:05:25 +0000
committerChris Mason <[email protected]>2015-06-10 14:02:50 +0000
commite1d227a42ea2b4664f94212bd1106b9a3413ffb8 (patch)
treee14df0ebdf2241ee848607f06fc39cef6d5c1db4 /fs/btrfs/async-thread.h
parentBtrfs: btrfs_defrag_file: Fix calculation of max_to_defrag. (diff)
downloadkernel-e1d227a42ea2b4664f94212bd1106b9a3413ffb8.tar.gz
kernel-e1d227a42ea2b4664f94212bd1106b9a3413ffb8.zip
btrfs: Handle unaligned length in extent_same
The extent-same code rejects requests with an unaligned length. This poses a problem when we want to dedupe the tail extent of files as we skip cloning the portion between i_size and the extent boundary. If we don't clone the entire extent, it won't be deleted. So the combination of these behaviors winds up giving us worst-case dedupe on many files. We can fix this by allowing a length that extents to i_size and internally aligining those to the end of the block. This is what btrfs_ioctl_clone() so we can just copy that check over. Signed-off-by: Mark Fasheh <[email protected]> Signed-off-by: Chris Mason <[email protected]>
Diffstat (limited to 'fs/btrfs/async-thread.h')
0 files changed, 0 insertions, 0 deletions