Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757470AbcJGWVE (ORCPT ); Fri, 7 Oct 2016 18:21:04 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:47826 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757154AbcJGWVD (ORCPT ); Fri, 7 Oct 2016 18:21:03 -0400 Date: Fri, 7 Oct 2016 23:20:59 +0100 From: Al Viro To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: [git pull] vfs pile 1 (splice) Message-ID: <20161007222059.GS19539@ZenIV.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.7.0 (2016-08-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3718 Lines: 73 splice stuff. There are conflicts in lustre; proposed resolution is in #merge-candidate (same as it is in linux-next). There's a bunch of branches this cycle, both mine and from other folks and I'd rather send pull requests separately. This one is the conversion of ->splice_read() to ITER_PIPE iov_iter (and introduction of such). Gets rid of a lot of code in fs/splice.c and elsewhere; there will be followups, but these are for the next cycle... Some pipe/splice-related cleanups from Miklos in the same branch as well. The following changes since commit 08895a8b6b06ed2323cd97a36ee40a116b3db8ed: Linux 4.8-rc8 (2016-09-25 18:47:13 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.splice_read for you to fetch changes up to a949e63992469fed87aef197347960ced31701b8: pipe: fix comment in pipe_buf_operations (2016-10-05 18:24:00 -0400) ---------------------------------------------------------------- Al Viro (11): consistent treatment of EFAULT on O_DIRECT read/write splice_to_pipe(): don't open-code wakeup_pipe_readers() splice: switch get_iovec_page_array() to iov_iter splice: lift pipe_lock out of splice_to_pipe() new helper: add_to_pipe() skb_splice_bits(): get rid of callback fuse_dev_splice_read(): switch to add_to_pipe() new iov_iter flavour: pipe-backed switch generic_file_splice_read() to use of ->read_iter() switch default_file_splice_read() to use of pipe-backed iov_iter relay: simplify relay_file_read() Miklos Szeredi (5): pipe: add pipe_buf_get() helper pipe: add pipe_buf_release() helper pipe: add pipe_buf_confirm() helper pipe: add pipe_buf_steal() helper pipe: fix comment in pipe_buf_operations drivers/char/virtio_console.c | 2 +- drivers/staging/lustre/lustre/llite/file.c | 89 +-- .../staging/lustre/lustre/llite/llite_internal.h | 15 +- drivers/staging/lustre/lustre/llite/vvp_internal.h | 14 - drivers/staging/lustre/lustre/llite/vvp_io.c | 45 +- fs/coda/file.c | 23 +- fs/direct-io.c | 3 + fs/fuse/dev.c | 63 +- fs/gfs2/file.c | 28 +- fs/nfs/file.c | 25 +- fs/nfs/internal.h | 2 - fs/nfs/nfs4file.c | 2 +- fs/ocfs2/file.c | 34 +- fs/ocfs2/ocfs2_trace.h | 2 - fs/pipe.c | 13 +- fs/splice.c | 683 ++++++--------------- fs/xfs/xfs_file.c | 41 +- fs/xfs/xfs_trace.h | 1 - include/linux/fs.h | 2 - include/linux/pipe_fs_i.h | 59 +- include/linux/skbuff.h | 8 +- include/linux/splice.h | 3 + include/linux/uio.h | 14 +- kernel/relay.c | 78 +-- lib/iov_iter.c | 395 +++++++++++- mm/shmem.c | 115 +--- net/core/skbuff.c | 28 +- net/ipv4/tcp.c | 3 +- net/kcm/kcmsock.c | 16 +- net/unix/af_unix.c | 17 +- 30 files changed, 746 insertions(+), 1077 deletions(-)