From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:35682 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754965AbeFNPMk (ORCPT ); Thu, 14 Jun 2018 11:12:40 -0400 From: Goldwyn Rodrigues To: viro@ZenIV.linux.org.uk Cc: linux-fsdevel@vger.kernel.org Subject: [PATCH RESEND v3 0/4] Enable holes in copy_file_range() Date: Thu, 14 Jun 2018 10:12:32 -0500 Message-Id: <20180614151236.26814-1-rgoldwyn@suse.de> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Al, These are the patches to improve behaviour of copy_file_range() with respect to holes. If appropriate, please consider them for inclusion. If copy_file_range performs a copy using splice, it converts holes to zeros. This effort primarily changes this behavior to create holes when it is possible. Even if copy_file_range() or clone_file_range() does not work for different mounted filesystems, We should be able to splice files if they do not belong the same super_block. Testing: I ran fstests, especially generic/43[0-4] and the overlayfs tests. Besides also created new tests, however, it is waiitng on xfs_io fix for copy_range. I have written more test cases which perform cross filesystem copy_file_range() with holes`. I will post it once these patches are accepted. Changes since v2: - Added size check so it does not punch a zero size hole Changes since v1: - Fixed bug when hole/data offset is farther than len - [Amir] Refactor flags parameter Changes since v0: - [Amir] Carved out do_copy_file_range() which can be used by overlayfs -- Goldwyn