simple_fsync_noflush(9)
πΎ simple_fsync_noflush πΎ
okay so real talk, bestie β welcome to the Kernel API Manual, the corner of the docs where the kernel devs explain their little helper functions. today's main character is simple_fsync_noflush, and honestly? she's giving lowkey fsync. no cap.
β¨ NAME β¨
simple_fsync_noflush β the generic fsync implementation for simple filesystems. that's the whole vibe. she syncs, she just doesn't flush. iykyk π
πΈ SYNOPSIS πΈ
int simple_fsync_noflush (struct file *file , loff_t start , loff_t end
, int datasync );
look at her, four arguments, immaculate formatting. the signature is literally right there, copy it exactly and don't @ me π¦
π«Ά ARGUMENTS π«Ά
okay so here's the cast of characters, one bullet each, no skipping:
fileβ the file to synchronize. yes, the actual file, bestie, the one you want all tidy and written out πstartβ start offset in bytes. where the party starts πendβ end offset in bytes, and it's inclusive β so that byte is invited, don't forget it πdatasyncβ if this is true, only synchronize essential metadata. like, the bare minimum metadata. casual metadata. metadata in sweatpants π
π DESCRIPTION π
so this function is an fsync handler for simple filesystems. that's her job. that's her whole thing. she's out here for the simple filesystems specifically.
here's what she does, exactly, no embellishment:
- she writes out dirty data β¨
- she writes out the inode, if it's dirty β¨
and here's the thing β the iconic part, honestly β
she does not issue a cache flush. not even a little one. it's right there in the name, bestie. noflush. that's the entire personality π
so don't go expecting a flush from her. she did not sign up for that. simple_fsync over there does the flushing thing, but that's a whole other girlie (see SEE ALSO below π).
π SEE ALSO π
okay so she does not run alone. she's part of a whole squad, and the manpage lists every single one of them, so here is the full lineup, fr fr β the kernel file is ./fs/libfs.c:
simple_offset_init(9)simple_offset_add(9)simple_offset_remove(9)simple_offset_rename(9)simple_offset_rename_exchange(9)simple_offset_destroy(9)offset_dir_llseek(9)offset_readdir(9)simple_rename_timestamp(9)simple_setattr(9)simple_write_end(9)simple_read_from_buffer(9)simple_write_to_buffer(9)memory_read_from_buffer(9)generic_encode_ino32_fh(9)generic_fh_to_dentry(9)generic_fh_to_parent(9)simple_fsync(9)generic_check_addressable(9)simple_get_link(9)generic_ci_d_compare(9)generic_ci_d_hash(9)generic_ci_match(9)generic_set_sb_d_ops(9)inode_maybe_inc_iversion(9)inode_query_iversion(9)simple_inode_init_ts(9)path_from_stashed(9)simple_start_creating(9)
every single one made the list. no cuts. π§
alright bestie, that's the page! π this whole thing lives in ./fs and the version/date on the footer says October 2026 β so like, mark your calendar, she's timeless. mwah, slay, go sync something (but don't flush it) π
β¨
π¦ 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