iter_file_splice_write(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… iter_file_splice_write πŸ’…

okay so before we get into it β€” this lil page lives in the Kernel API Manual, section 9, bestie. That's your vibe check for where you are rn. ✨


🌸 NAME 🌸

iter_file_splice_write β€” splice data from a pipe to a file, no cap 🫢


πŸŽ€ SYNOPSIS πŸŽ€

ssize_t iter_file_splice_write (struct pipe_inode_info *pipe , struct
file *out , loff_t *ppos , size_t len , unsigned int flags );

πŸ¦‹ ARGUMENTS πŸ¦‹

she takes five args, let's meet them πŸ’–

  • pipe β€” pipe info. that's the pipe inode we're pulling from, mhm.
  • out β€” the file to write to. the destination, the main character of this story tbh.
  • ppos β€” position in out. where we're at in the file, so pls don't lose her.
  • len β€” number of bytes to splice. yes, a size_t, yes it matters. πŸ”₯
  • flags β€” splice modifier flags. these lil guys decide a LOT, keep reading πŸ‘€

⭐ DESCRIPTION ⭐

okay so here's the tea πŸ“ β€” this function will either move or copy pages from the given pipe inode to the given file. which one happens? that's determined by the flags options, so like, pay attention to your flags bestie, they're literally the deciding factor πŸ’€

and the lil special-sauce detail: this one is ->write_iter-based. iykyk 🧚


🌈 SEE ALSO 🌈

Kernel file ./fs/splice.c β€” go read her, she ate πŸ‘‘


πŸ’€ real talk: the whole splice squad is listed above, so don't be out here guessing at behaviour when the answers are literally one page over, fr fr.

okay that's the whole page, mwah πŸ’œ β€” brought to you by ./fs, dated October 2026, and filed under iter_file_splice_write(9) in the Kernel API Manual. go splice something iconic ✨🫢

πŸ“¦ where this page comes from