Return-Path: Received: from mx143.netapp.com ([216.240.21.24]:25346 "EHLO mx143.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932396AbbI3R1A (ORCPT ); Wed, 30 Sep 2015 13:27:00 -0400 From: Anna Schumaker To: , , , , , , , , , , Subject: [PATCH v5 0/9] VFS: In-kernel copy system call Date: Wed, 30 Sep 2015 13:26:44 -0400 Message-ID: <1443634014-3026-1-git-send-email-Anna.Schumaker@Netapp.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-nfs-owner@vger.kernel.org List-ID: Copy system calls came up during Plumbers a while ago, mostly because several filesystems (including NFS and XFS) are currently working on copy acceleration implementations. We haven't heard from Zach Brown in a while, so I volunteered to push his patches upstream so individual filesystems don't need to keep writing their own ioctls. This posting fixes a few issues that popped up after I submitted v4 yesterday. Changes in v5: - Bump syscall number (again) - Add sys_copy_file_range() to include/linux/syscalls.h - Change flags parameter on btrfs to an unsigned int Anna Schumaker (6): vfs: Copy should check len after file open mode vfs: Copy shouldn't forbid ranges inside the same file vfs: Copy should use file_out rather than file_in vfs: Remove copy_file_range mountpoint checks vfs: Add vfs_copy_file_range() support for pagecache copies btrfs: btrfs_copy_file_range() only supports reflinks Zach Brown (3): vfs: add copy_file_range syscall and vfs helper x86: add sys_copy_file_range to syscall tables btrfs: add .copy_file_range file operation arch/x86/entry/syscalls/syscall_32.tbl | 1 + arch/x86/entry/syscalls/syscall_64.tbl | 1 + fs/btrfs/ctree.h | 3 + fs/btrfs/file.c | 1 + fs/btrfs/ioctl.c | 95 +++++++++++++--------- fs/read_write.c | 141 +++++++++++++++++++++++++++++++++ include/linux/copy.h | 6 ++ include/linux/fs.h | 3 + include/linux/syscalls.h | 3 + include/uapi/asm-generic/unistd.h | 4 +- include/uapi/linux/Kbuild | 1 + include/uapi/linux/copy.h | 8 ++ kernel/sys_ni.c | 1 + 13 files changed, 228 insertions(+), 40 deletions(-) create mode 100644 include/linux/copy.h create mode 100644 include/uapi/linux/copy.h -- 2.6.0