linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/4] VFS: In-kernel copy system call
@ 2015-11-06 21:18 Anna Schumaker
  2015-11-06 21:18 ` [PATCH v8 1/4] vfs: add copy_file_range syscall and vfs helper Anna Schumaker
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Anna Schumaker @ 2015-11-06 21:18 UTC (permalink / raw)
  To: linux-nfs-u79uwXL29TY76Z2rM5mHXA,
	linux-btrfs-u79uwXL29TY76Z2rM5mHXA,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA,
	linux-api-u79uwXL29TY76Z2rM5mHXA, zab-ugsP4Wv/S6ZeoWH0uzbU5w,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn, clm-b10kYP2dOMg,
	darrick.wong-QHcLZuEGTsvQT0dZR+AlfA,
	mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w,
	andros-HgOvQuBEEgTQT0dZR+AlfA, hch-wEGCiKHe2LqWVfeAwA7xHQ

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 up a few minor issues that came up on the mailing list.  I
looked into the O_APPEND question, and do_splice_direct() specificially
disallows files that are open for appending.  I've decided to keep the
no-O_APPEND requirement for now since I use this function for pagecache copies.

Changes in v8:
- Remove redundant checks.
- Make the fdget() / fdput() calls more obvious.
- Document disallowing files open with O_APPEND.

Thanks,
Anna


Anna Schumaker (1):
  vfs: Add vfs_copy_file_range() support for pagecache copies

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                       |  91 ++++++++++++----------
 fs/read_write.c                        | 135 +++++++++++++++++++++++++++++++++
 include/linux/fs.h                     |   3 +
 include/linux/syscalls.h               |   3 +
 include/uapi/asm-generic/unistd.h      |   4 +-
 kernel/sys_ni.c                        |   1 +
 10 files changed, 203 insertions(+), 40 deletions(-)

-- 
2.6.2

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-01-26 15:35 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-06 21:18 [PATCH v8 0/4] VFS: In-kernel copy system call Anna Schumaker
2015-11-06 21:18 ` [PATCH v8 1/4] vfs: add copy_file_range syscall and vfs helper Anna Schumaker
2015-11-06 21:18 ` [PATCH v8 2/4] x86: add sys_copy_file_range to syscall tables Anna Schumaker
2015-11-06 21:18 ` [PATCH v8 3/4] btrfs: add .copy_file_range file operation Anna Schumaker
2015-11-06 21:18 ` [PATCH v8 4/4] vfs: Add vfs_copy_file_range() support for pagecache copies Anna Schumaker
     [not found]   ` <1446844701-848-5-git-send-email-Anna.Schumaker-ZwjVKphTwtPQT0dZR+AlfA@public.gmane.org>
2015-11-10  0:56     ` Al Viro
2015-11-06 21:18 ` [PATCH v8 5/4] copy_file_range.2: New page documenting copy_file_range() Anna Schumaker
     [not found]   ` <1446844701-848-6-git-send-email-Anna.Schumaker-ZwjVKphTwtPQT0dZR+AlfA@public.gmane.org>
2016-01-25 13:45     ` Michael Kerrisk (man-pages)
     [not found]       ` <CAKgNAkgaEgQb5kJWRf12GQMSip81SL6LtLFxQvOq1yCGR6+HOg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-01-25 21:48         ` Anna Schumaker
2016-01-26  9:49   ` Michael Kerrisk (man-pages)
     [not found]     ` <56A74147.8060807-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-01-26 15:35       ` Anna Schumaker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).