vfs_splice_read(9)
π NAME π
vfs_splice_read β Read data from a file and splice it into a pipe. That's the whole NAME moment, bestie. This is the vfs_splice_read(9) page from the Kernel API Manual, and it's lowkey iconic π
π¦ SYNOPSIS π¦
The signature is literally this, no cap:
ssize_t vfs_splice_read (struct file *in , loff_t *ppos , struct pipe_inode_info *pipe , size_t len , unsigned int flags );
π ARGUMENTS π
inβ File to splice frompposβ Input file offsetpipeβ Pipe to splice tolenβ Number of bytes to spliceflagsβ Splice modifier flags (SPLICE_F_*)
π¦ DESCRIPTION π¦
Splice the requested amount of data from the input file to the pipe. This is synchronous as the caller must hold the pipe lock across the entire operation β yes, the whole thing, bestie π₯
If successful, it returns the amount of data spliced, 0 if it hit the EOF or a hole, and a negative error code otherwise. That's the return vibe check, periodt π
π SEE ALSO π
The SEE ALSO section is a whole friend group: Kernel file ./fs/splice.c plus these besties β
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)splice_direct_to_actor(9)do_splice_direct(9)splice_file_range(9)
xoxo, source ./fs Β· October 2026 Β· vfs_splice_read(9) ππ«Άπ
π¦ 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