Some patches has review, some not, all compile tested and hand tested. (i.e. boot into patched system and do some small tests).
All based on kDave for-next branch Patches: 1. Just remove useless u64 num_bytes from compress_file_range() No functional changes 2. For make compression on on mmap'd files safe, while compression logic works, we switch page dirty page bit on whole input range, but input range can be much bigger the 128KiB So try optimize that by only switch bits on current compression range 3. Function: extent_range_clear_dirty_for_io() extent_range_redirty_for_io() btrfs_set_range_writeback() Used to switch some bits on pages, but use not obvious while (index <= end_index) to cover unaligned end to pages. (I don't think that not obvious for me only, as on IRC no one can help me understand that until i found answer) So i change handling of unaligned end to more obvious way 4. btrfs_dedupe_file_range() on range bigger then 16MiB instead of return error, silently set it to 16MiB. So just add loop over input range, to get working bigger range P.S. May be that make a sense to change loop iterator to some lower value if one of deduped files are compressed? Thanks. Timofey Titovets (4): Btrfs: compress_file_range() remove dead variable num_bytes Btrfs: clear_dirty only on pages in compression range Btrfs: handle unaligned tail of data ranges more efficient Btrfs: btrfs_dedupe_file_range() ioctl, remove 16MiB restriction fs/btrfs/extent_io.c | 12 ++++++++++-- fs/btrfs/inode.c | 43 ++++++++++++++++++++++++++++++------------- fs/btrfs/ioctl.c | 22 ++++++++++++++++++---- 3 files changed, 58 insertions(+), 19 deletions(-) -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html