aboutsummaryrefslogtreecommitdiffstats
path: root/fs/splice.c
AgeCommit message (Expand)AuthorFilesLines
2023-12-12fs: use splice_copy_file_range() inline helperAmir Goldstein1-3/+4
2023-12-12splice: return type ssize_t from all helpersAmir Goldstein1-51/+53
2023-12-01fs: move file_start_write() into direct_splice_actor()Amir Goldstein1-3/+16
2023-12-01fs: fork splice_file_range() from do_splice_direct()Amir Goldstein1-20/+51
2023-11-24splice: remove permission hook from iter_file_splice_write()Amir Goldstein1-3/+10
2023-11-24splice: move permission hook out of splice_file_to_pipe()Amir Goldstein1-1/+5
2023-11-24splice: move permission hook out of splice_direct_to_actor()Amir Goldstein1-23/+35
2023-11-24splice: remove permission hook from do_splice_direct()Amir Goldstein1-4/+1
2023-08-29Merge tag 'mm-stable-2023-08-28-18-26' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-2/+1
2023-08-28Merge tag 'v6.6-vfs.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-29/+35
2023-08-21splice: Convert page_cache_pipe_buf_confirm() to use a folioMatthew Wilcox (Oracle)1-11/+9
2023-08-18mm: merge folio_has_private()/filemap_release_folio() call pairsDavid Howells1-2/+1
2023-07-26splice, net: Fix splice_to_socket() for O_NONBLOCK socketJan Stancek1-0/+2
2023-07-10splice: fsnotify_access(in), fsnotify_modify(out) on success in teeAhelenia Ziemiańska1-0/+5
2023-07-10splice: fsnotify_access(fd)/fsnotify_modify(fd) in vmspliceAhelenia Ziemiańska1-1/+6
2023-07-10splice: always fsnotify_access(in), fsnotify_modify(out) on successAhelenia Ziemiańska1-17/+15
2023-06-28Merge tag 'net-next-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/net...Linus Torvalds1-40/+165
2023-06-16splice: simplify a conditional in copy_splice_readChristoph Hellwig1-7/+7
2023-06-16splice: don't call file_accessed in copy_splice_readChristoph Hellwig1-1/+0
2023-06-15splice, net: Fix splice_to_socket() to handle pipe bufs larger than a pageDavid Howells1-4/+2
2023-06-08splice, net: Fix SPLICE_F_MORE signalling in splice_direct_to_actor()David Howells1-8/+10
2023-06-08splice, net: Add a splice_eof op to file-ops and socket-opsDavid Howells1-1/+30
2023-06-08splice, net: Use sendmsg(MSG_SPLICE_PAGES) rather than ->sendpage()David Howells1-31/+127
2023-05-24splice: kdoc for filemap_splice_read() and copy_splice_read()David Howells1-2/+19
2023-05-24splice: Remove generic_file_splice_read()David Howells1-43/+0
2023-05-24splice: Make splice from a DAX file use copy_splice_read()David Howells1-3/+3
2023-05-24splice: Make splice from an O_DIRECT fd use copy_splice_read()David Howells1-0/+6
2023-05-24splice: Check for zero count in vfs_splice_read()David Howells1-0/+2
2023-05-24splice: Make do_splice_to() generic and export itDavid Howells1-7/+20
2023-05-24splice: Clean up copy_splice_read() a bitDavid Howells1-12/+7
2023-05-24splice: Rename direct_splice_read() to copy_splice_read()David Howells1-6/+5
2023-05-06Merge tag 'pipe-nonblock-2023-05-06' of git://git.kernel.dk/linuxLinus Torvalds1-4/+30
2023-04-25splice: clear FMODE_NOWAIT on file if splice/vmsplice is usedJens Axboe1-4/+30
2023-04-04splice: report related fsnotify eventsChung-Chiang Cheng1-0/+8
2023-03-09splice: Remove redundant assignment to retJiapeng Chong1-1/+0
2023-02-22Merge tag '6.3-rc-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6Linus Torvalds1-0/+93
2023-02-20splice: Export filemap/direct_splice_read()David Howells1-0/+1
2023-02-20splice: Add a func to do a splice from an O_DIRECT file without ITER_PIPEDavid Howells1-0/+92
2023-02-03splice: use bvec_set_page to initialize a bvecChristoph Hellwig1-3/+2
2022-11-25use less confusing names for iov_iter direction initializersAl Viro1-5/+5
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-99/+36
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-37/+32
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-29/+14
2010-12-17fs/splice: Pull buf->ops->confirm() from splice_from_pipe actorsMichał Mirosław1-29/+14
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