aboutsummaryrefslogtreecommitdiffstats
path: root/fs/splice.c
AgeCommit message (Expand)AuthorFilesLines
2022-08-08iter_to_pipe(): switch to advancing variant of iov_iter_get_pages()Al Viro1-23/+24
2022-08-08splice: stop abusing iov_iter_advance() to flush a pipeAl Viro1-5/+2
2022-07-16fs: check FMODE_LSEEK to control internal pipe splicingJason A. Donenfeld1-6/+4
2022-03-21mm: Convert remove_mapping() to take a folioMatthew Wilcox (Oracle)1-3/+2
2022-03-21splice: Use a folio in page_cache_pipe_buf_try_steal()Matthew Wilcox (Oracle)1-10/+11
2021-02-21Merge tag 'for-5.12/block-2021-02-17' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+6
2021-01-25teach sendfile(2) to handle send-to-pipe directlyAl Viro1-1/+1
2021-01-25take the guts of file-to-pipe splice into a helper functionAl Viro1-7/+18
2021-01-25do_splice_to(): move the logics for limiting the read length inAl Viro1-14/+7
2021-01-25splice: don't generate zero-len segement bvecsPavel Begunkov1-3/+6
2020-10-24Merge tag 'io_uring-5.10-2020-10-24' of git://git.kernel.dk/linux-blockLinus Torvalds1-13/+50
2020-10-22splice: change exported internal do_splice() helper to take kernel offsetJens Axboe1-13/+50
2020-10-22Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-116/+14
2020-10-12Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-44/+13
2020-10-06splice: teach splice pipe reading about empty pipe buffersLinus Torvalds1-0/+20
2020-10-03fs: remove compat_sys_vmspliceChristoph Hellwig1-44/+13
2020-10-03iov_iter: transparently handle compat iovecs in import_iovecChristoph Hellwig1-1/+1
2020-10-01pipe: remove pipe_wait() and fix wakeup race with spliceLinus Torvalds1-4/+4
2020-09-08fs: don't allow splice read/write without explicit opsChristoph Hellwig1-116/+14
2020-06-13Merge tag 'notifications-20200601' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-6/+6
2020-06-03Merge branch 'work.splice' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-52/+29
2020-06-02Merge tag 'for-5.8/io_uring-2020-06-01' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+1
2020-05-20pipe: Fix pipe_full() test in opipe_prep().Tetsuo Handa1-1/+1
2020-05-20fs: rename pipe_buf ->steal to ->try_stealChristoph Hellwig1-20/+20
2020-05-20fs: make the pipe_buf_operations ->confirm operation optionalChristoph Hellwig1-3/+0
2020-05-20fs: make the pipe_buf_operations ->steal operation optionalChristoph Hellwig1-7/+0
2020-05-20pipe: merge anon_pipe_buf*_opsChristoph Hellwig1-7/+5
2020-05-20fs: simplify do_splice_fromChristoph Hellwig1-8/+2
2020-05-20fs: simplify do_splice_toChristoph Hellwig1-7/+2
2020-05-19pipe: Add general notification queue supportDavid Howells1-6/+6
2020-05-17splice: export do_tee()Pavel Begunkov1-2/+1
2020-05-07splice: move f_mode checks to do_{splice,tee}()Pavel Begunkov1-27/+18
2020-03-02splice: make do_splice publicPavel Begunkov1-3/+3
2020-02-08pipe: use exclusive waits when reading or writingLinus Torvalds1-4/+4
2019-12-07pipe: remove 'waiting_writers' merging logicLinus Torvalds1-17/+4
2019-12-06pipe: fix incorrect caching of pipe state over pipe_wait()Linus Torvalds1-4/+6
2019-11-30Merge tag 'notifications-pipe-prep-20191115' of git://git.kernel.org/pub/scm/...Linus Torvalds1-77/+120
2019-11-15pipe: Allow pipes to have kernel-reserved slotsDavid Howells1-13/+13
2019-10-31pipe: Use head and tail pointers for the ring, not cursor and lengthDavid Howells1-73/+117
2019-10-15splice: only read in as much information as there is pipe buffer spaceDarrick J. Wong1-3/+11
2019-05-31uio: make import_iovec()/compat_import_iovec() return bytes on successJens Axboe1-4/+4
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-04-26Merge tag 'trace-v5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/r...Linus Torvalds1-2/+2
2019-04-26tracing: Fix buffer_ref pipe opsJann Horn1-2/+2
2019-04-14Merge branch 'page-refs' (page ref overflow)Linus Torvalds1-2/+10
2019-04-14fs: prevent page refcount overflow in pipe_buf_getMatthew Wilcox1-2/+10
2019-03-12Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-4/+4
2019-03-04fs: Make splice() and tee() take into account O_NONBLOCK flag on pipesSlavomir Kaslev1-0/+12
2019-03-04get rid of legacy 'get_ds()' functionLinus Torvalds1-1/+1
2019-02-01pipe: stop using ->can_mergeJann Horn1-4/+0
2019-02-01splice: don't merge into linked buffersJann Horn1-0/+4
2018-12-04splice: don't read more than available pipe spaceDarrick J. Wong1-1/+6
2018-10-24iov_iter: Separate type from direction and use accessor functionsDavid Howells1-4/+3
2018-06-16Merge branch 'work.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-69/+75
2018-06-12treewide: kmalloc() -> kmalloc_array()Kees Cook1-3/+4
2018-06-11vmsplice(): lift importing iovec into vmsplice(2) and compat counterpartAl Viro1-69/+75
2018-04-02fs: add do_vmsplice() helper; remove in-kernel call to syscallDominik Brodowski1-3/+9
2017-10-25locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns ...Mark Rutland1-1/+1
2017-09-04fs: move kernel_write to fs/read_write.cChristoph Hellwig1-16/+0
2017-06-29fs: implement vfs_iter_write using do_iter_writeChristoph Hellwig1-1/+1
2017-05-02Merge branch 'work.splice' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-9/+11
2017-03-03Merge branch 'WIP.sched-core-for-linus' of git://git.kernel.org/pub/scm/linux...Linus Torvalds1-0/+2
2017-03-02Merge remote-tracking branch 'ovl/for-viro' into for-linusAl Viro1-1/+1
2017-03-02sched/headers: Prepare to move signal wakeup & sigpending methods from <linux...Ingo Molnar1-0/+2
2017-02-20vfs: use helpers for calling f_op->{read,write}_iter()Miklos Szeredi1-1/+1
2017-02-16vfs: fix uninitialized flags in splice_to_pipe()Miklos Szeredi1-0/+1
2016-12-26make nr_pages calculation in default_file_splice_read() a bit less uglyAl Viro1-4/+3
2016-12-26splice/tee/vmsplice: validate flagsAl Viro1-0/+8
2016-12-26remove spd_release_page()Al Viro1-5/+0
2016-12-21splice: reinstate SIGPIPE/EPIPE handlingLinus Torvalds1-2/+7
2016-12-13Merge branch 'for-4.10/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+1
2016-11-26fix default_file_splice_read()Al Viro1-1/+2
2016-11-10splice: remove detritus from generic_file_splice_read()Al Viro1-5/+0
2016-11-01mm: only include blk_types in swap.h if CONFIG_SWAP is enabledChristoph Hellwig1-0/+1
2016-10-10fix ITER_PIPE interaction with direct_IOAl Viro1-9/+3
2016-10-05pipe: add pipe_buf_confirm() helperMiklos Szeredi1-2/+2
2016-10-05pipe: add pipe_buf_release() helperMiklos Szeredi1-12/+5
2016-10-05pipe: add pipe_buf_get() helperMiklos Szeredi1-2/+2
2016-10-05switch default_file_splice_read() to use of pipe-backed iov_iterAl Viro1-71/+40
2016-10-05switch generic_file_splice_read() to use of ->read_iter()Al Viro1-216/+28
2016-10-05new iov_iter flavour: pipe-backedAl Viro1-1/+1
2016-10-03new helper: add_to_pipe()Al Viro1-44/+62
2016-10-03splice: lift pipe_lock out of splice_to_pipe()Al Viro1-71/+58
2016-10-03splice: switch get_iovec_page_array() to iov_iterAl Viro1-97/+34
2016-10-03splice_to_pipe(): don't open-code wakeup_pipe_readers()Al Viro1-4/+1
2016-05-11Merge branch 'ovl-fixes' into for-linusAl Viro1-16/+16
2016-04-04mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macrosKirill A. Shutemov1-16/+16
2016-04-03do_splice_to(): cap the size before passing to ->splice_read()Al Viro1-0/+3
2016-03-18Merge branches 'work.lookups', 'work.misc' and 'work.preadv2' into for-nextAl Viro1-1/+4
2016-03-18splice: handle zero nr_pages in splice_to_pipe()Rabin Vincent1-0/+3
2016-03-04vfs: pass a flags argument to vfs_readv/vfs_writevChristoph Hellwig1-1/+1
2016-01-09fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGEAbhi Das1-5/+3
2015-11-23vfs: Avoid softlockups with sendfile(2)Jan Kara1-0/+1
2015-11-23vfs: Make sendfile(2) killable even betterJan Kara1-0/+7
2015-11-06mm, fs: introduce mapping_gfp_constraint()Michal Hocko1-1/+1
2015-06-24Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2015-06-24mm: do not ignore mapping_gfp_mask in page cache allocation pathsMichal Hocko1-1/+1
2015-05-25net: af_unix: implement splice for stream af_unix socketsHannes Frederic Sowa1-0/+1
2015-05-06splice: sendfile() at once fails for big filesChristophe Leroy1-1/+11
2015-04-15dax: unify ext2/4_{dax,}_file_operationsBoaz Harrosh1-0/+3
2015-04-11vmsplice_to_user(): switch to import_iovec()Al Viro1-16/+11
2015-03-25fs: move struct kiocb to fs.hChristoph Hellwig1-1/+0
2015-01-29fs: add vfs_iter_{read,write} helpersChristoph Hellwig1-14/+2
2015-01-29new helper: iov_iter_bvec()Al Viro1-5/+2
2014-10-24vfs: export do_splice_direct() to modulesMiklos Szeredi1-0/+1
2014-06-12Merge commit '9f12600fe425bc28f0ccba034a77783c09c15af4' into for-linusAl Viro1-2/+4
2014-06-12kill generic_file_splice_write()Al Viro1-124/+0
2014-06-12fs/splice.c: remove unneeded exportsAl Viro1-10/+5
2014-06-12->splice_write() via ->write_iter()Al Viro1-0/+140
2014-05-28vfs: fix vmplice_to_user()Miklos Szeredi1-2/+4
2014-05-06start adding the tag to iov_iterAl Viro1-1/+1
2014-04-01switch vmsplice_to_user() to copy_page_to_iter()Al Viro1-89/+21
2014-04-01pipe: kill ->map() and ->unmap()Al Viro1-16/+8
2014-01-22fuse: fix pipe_buf_operationsMiklos Szeredi1-0/+18
2013-10-24file->f_op is never NULL...Al Viro1-3/+3
2013-07-03Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-15/+23
2013-06-29splice: lift checks from do_splice_from() into callersAl Viro1-11/+20
2013-06-29lift file_*_write out of do_splice_direct()Al Viro1-2/+0
2013-06-29lift file_*_write out of do_splice_from()Al Viro1-4/+5
2013-06-23fs: fix new splice.c kernel-doc warningRandy Dunlap1-0/+1
2013-06-20splice: don't pass the address of ->f_pos to methodsAl Viro1-13/+18
2013-05-01Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-7/+7
2013-05-01Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-0/+22
2013-04-09get rid of alloc_pipe_info() argumentAl Viro1-1/+1
2013-04-09get rid of pipe->inodeAl Viro1-2/+2
2013-04-09lift sb_start_write out of ->splice_write()Al Viro1-6/+4
2013-04-09lift sb_start_write into default_file_splice_write()Al Viro1-2/+2
2013-04-09lift sb_start_write() out of ->write()Al Viro1-0/+2
2013-03-21Don't bother with redoing rw_verify_area() from default_file_splice_from()Al Viro1-1/+3
2013-03-03convert vmsplice to COMPAT_SYSCALL_DEFINEAl Viro1-0/+22
2013-02-26export kernel_write(), convert open-coded instancesAl Viro1-2/+3
2013-02-22new helper: file_inode(file)Al Viro1-1/+1
2013-01-06tcp: fix MSG_SENDPAGE_NOTLAST logicEric Dumazet1-1/+3
2012-12-11writeback: remove nr_pages_dirtied arg from balance_dirty_pages_ratelimited_nr()Namjae Jeon1-4/+1
2012-09-26switch simple cases of fget_light to fdgetAl Viro1-36/+31
2012-07-31fs: Protect write paths by sb_start_write - sb_end_writeJan Kara1-0/+3
2012-06-13splice: fix racy pipe->buffers usesEric Dumazet1-15/+20
2012-06-01Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-2/+4
2012-06-01fs: introduce inode operation ->update_timeJosef Bacik1-2/+4
2012-05-01Merge tag 'v3.4-rc5' into for-3.5/coreJens Axboe1-1/+4
2012-04-20vmsplice: relax alignement requirements for SPLICE_F_GIFTEric Dumazet1-2/+2
2012-04-05tcp: tcp_sendpages() should call tcp_push() onceEric Dumazet1-1/+4
2012-03-24Merge tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/p...Linus Torvalds1-1/+1
2012-03-20fs: remove the second argument of k[un]map_atomic()Cong Wang1-5/+2
2012-02-28fs: reduce the use of module.h wherever possiblePaul Gortmaker1-1/+1
2012-01-03fs: move code out of buffer.cAl Viro1-1/+0
2011-07-25tmpfs: clone shmem_file_splice_read()Hugh Dickins1-2/+2
2011-05-23splice: add wakeup_pipe_readers()Namhyung Kim1-18/+15
2011-01-13Merge branch 'for-2.6.38/core' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds1-28/+13
2010-12-17fs/splice: Pull buf->ops->confirm() from splice_from_pipe actorsMichał Mirosław1-28/+13
2010-11-28Export 'get_pipe_info()' to other usersLinus Torvalds1-11/+0
2010-11-28Rename 'pipe_info()' to 'get_pipe_info()'Linus Torvalds1-10/+9
2010-08-07splice: fix misuse of SPLICE_F_NONBLOCKMiklos Szeredi1-11/+1
2010-08-07gcc-4.6: fs: fix unused but set warningsAndi Kleen1-2/+0
2010-06-30splice: check f_mode for seekable fileChangli Gao1-4/+2
2010-06-30splice: direct_splice_actor() should not use pos in sdChangli Gao1-1/+2
2010-05-25fs/splice.c: fix mapping_gfp_mask usageNick Piggin1-1/+1
2010-05-21pipe: add support for shrinking and growing pipesJens Axboe1-46/+105
2010-03-30include cleanup: Update gfp.h and slab.h includes to prepare for breaking imp...Tejun Heo1-0/+1
2009-11-04sendfile(): check f_op.splice_write() rather than f_op.sendpage()Changli Gao1-9/+15
2009-09-14Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds1-2/+6
2009-09-14vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYN...Jan Kara1-16/+6
2009-09-11splice: update mtime and atime on filesMiklos Szeredi1-2/+6
2009-05-19splice: fix kmaps in default_file_splice_write()Miklos Szeredi1-108/+22
2009-05-14splice: fix error return codeAndrew Morton1-1/+3
2009-05-13splice: fix repeated kmap()'s in default_file_splice_read()Jens Axboe1-6/+4
2009-05-11splice: implement default splice_write methodMiklos Szeredi1-4/+138
2009-05-11splice: implement default splice_read methodMiklos Szeredi1-5/+115
2009-05-11splice: implement pipe to pipe splicingMiklos Szeredi1-11/+151
2009-04-17splice: fix new kernel-doc warningsRandy Dunlap1-2/+1
2009-04-15splice: add helpers for locking pipe inodeMiklos Szeredi1-29/+21
2009-04-15splice: remove generic_file_splice_write_nolock()Miklos Szeredi1-59/+0
2009-04-15ocfs2: fix i_mutex locking in ocfs2_splice_to_file()Miklos Szeredi1-2/+3
2009-04-15splice: fix i_mutex locking in generic_splice_write()Miklos Szeredi1-11/+23
2009-04-15splice: remove i_mutex locking in splice_from_pipe()Miklos Szeredi1-16/+2
2009-04-15splice: split up __splice_from_pipe()Miklos Szeredi1-74/+143
2009-04-07splice: fix deadlock in splicing to fileMiklos Szeredi1-5/+20
2009-04-03FS-Cache: Recruit a page flags for cache managementDavid Howells1-1/+2
2009-01-14[CVE-2009-0029] System call wrappers part 31Heiko Carstens1-6/+6
2009-01-08memcg: synchronized LRUKAMEZAWA Hiroyuki1-0/+1
2008-10-30fs: remove prepare_write/commit_writeNick Piggin1-2/+2
2008-10-09Don't allow splice() to files opened with O_APPENDLinus Torvalds1-0/+3
2008-08-04mm: rename page trylockNick Piggin1-1/+1
2008-07-26[patch 3/5] vfs: change remove_suid() to file_remove_suid()Miklos Szeredi1-2/+2
2008-07-26splice: use get_user_pages_fastNick Piggin1-38/+3
2008-07-04splice: fix generic_file_splice_read() race with page invalidationMiklos Szeredi1-4/+13
2008-05-28splice: handle try_to_release_page() failureJens Axboe1-2/+3
2008-05-28splice: fix sendfile() issue with relayTom Zanussi1-4/+8
2008-05-08Revert "relay: fix splice problem"Jens Axboe1-1/+1
2008-05-07vfs: splice remove_suid() cleanupMiklos Szeredi1-16/+13
2008-04-29relay: fix splice problemTom Zanussi1-1/+1
2008-04-10splice: fix infinite loop in generic_file_splice_read()Jens Axboe1-25/+6
2008-04-03splice: use mapping_gfp_maskHugh Dickins1-1/+1
2008-03-04splice: only return -EAGAIN if there's hope of more dataJens Axboe1-4/+8
2008-02-10splice: fix user pointer access in get_iovec_page_array()Bastian Blank1-1/+1
2008-02-08splice: missing user pointer access verificationJens Axboe1-0/+8
2008-02-01splice: always updated atime in direct spliceJens Axboe1-3/+1
2008-01-29splice: fix problem with atime not being updatedJens Axboe1-8/+7
2008-01-28[SPLICE]: Don't assume regular pages in splice_to_pipe()Jens Axboe1-1/+8
2008-01-25security: call security_file_permission from rw_verify_areaJames Morris1-8/+0