splice_file_range(9)
π splice_file_range(9) β your Kernel API Manual bestie π
β¨ NAME β¨
<pink>splice_file_range</pink> β splices data between two files for copy_file_range() π«
π SYNOPSIS π
ssize_t splice_file_range (struct file *in , loff_t *ppos , struct file
*out , loff_t *opos , size_t len );
π¦ ARGUMENTS π¦
okay so the cast of characters is giving very much:
inβ file to splice from πΈpposβ input file offsetoutβ file to splice to πoposβ output file offsetlenβ number of bytes to splice β¨
π DESCRIPTION π
This one is for use by ->copy_file_range methods, periodt.
Itβs like do_splice_direct, but with a plot twist: vfs_copy_file_range already holds start_file_write on the out file π
Also important, bestie: callers already called rw_verify_area on the entire range. No cap. π«Ά
π SEE ALSO π
Kernel file ./fs/splice.c is where the magic lives, and the whole friend group is:
splice_to_pipe(9)copy_splice_read(9)splice_from_pipe_feed(9)splice_from_pipe_next(9)splice_from_pipe_begin(9)splice_from_pipe_end(9)__splice_from_pipe(9)splice_from_pipe(9)iter_file_splice_write(9)splice_to_socket(9)vfs_splice_read(9)splice_direct_to_actor(9)do_splice_direct(9)
huge kisses from the source at ./fs, dated October 2026 β this is splice_file_range(9), and yes she ate π
π«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms