STRUCT NILFS_SEGMENT_SUMMARY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct nilfs_segment_summary(9) β€” the kernel API manual, bestie edition πŸŽ€

okay so bestie, we're deep in the kernel API docs rn (the Kernel API Manual, no big deal) and today's main character is struct nilfs_segment_summary β€” literally the segment summary header. it's giving "the receipt at the top of the file, but make it NILFS2" ✨


🌸 NAME 🌸

struct nilfs_segment_summary β€” the segment summary header, periodt πŸ’…


✨ SYNOPSIS ✨

here's the whole vibe, character for character, don't touch a single underscore:

struct nilfs_segment_summary {
    __le32 ss_datasum;
    __le32 ss_sumsum;
    __le32 ss_magic;
    __le16 ss_bytes;
    __le16 ss_flags;
    __le64 ss_seq;
    __le64 ss_create;
    __le64 ss_next;
    __le32 ss_nblocks;
    __le32 ss_nfinfo;
    __le32 ss_sumbytes;
    __le32 ss_pad;
    __le64 ss_cno;
 };

look at all those __le32s and __le64s β€” endianness queen πŸ‘‘ ngl the __le16 girlies are doing the most with the least and I respect it 🫢


πŸ¦‹ Members πŸ¦‹

okay let's go member by member, no skipping, no cap:

  • ss_datasum β€” the checksum of the data 🧾 so like, the data's little fingerprint, iconic
  • ss_sumsum β€” the checksum of the segment summary. yes bestie, a checksum for the summary itself, she contains multitudes 😭
  • ss_magic β€” the magic number ✨ obviously
  • ss_bytes β€” how big this structure is, in bytes. it knows its own size, self-aware king πŸ’€
  • ss_flags β€” the flags 🚩 (the good kind, hopefully)
  • ss_seq β€” the sequence number, keeping everything in order fr fr
  • ss_create β€” the creation timestamp πŸ•°οΈ born at a specific moment, we love a timestamped queen
  • ss_next β€” the next segment, pointing the way forward ➑️
  • ss_nblocks β€” the number of blocks 🧱 count them, bestie
  • ss_nfinfo β€” the number of finfo structures β€” yes that's the literal word from the docs, finfo, and I'm obsessed with how unbothered it is πŸ’…
  • ss_sumbytes β€” the total size of the segment summary in bytes. "total" is doing heavy lifting there, so don't confuse her with ss_bytes β€” they're different girlies, iykyk πŸ™ˆ
  • ss_pad β€” padding, the structural equivalent of "this meeting could have been an email" but make it alignment 🌸
  • ss_cno β€” the checkpoint number πŸ”–

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./include/uapi/linux/nilfs2_ondisk.h, plus the whole entire NILFS2 friend group β€” like, the full group chat:

  • struct nilfs_inode(9)
  • struct nilfs_super_root(9)
  • struct nilfs_super_block(9)
  • struct nilfs_finfo(9)
  • struct nilfs_binfo_v(9)
  • struct nilfs_binfo_dat(9)
  • union nilfs_binfo(9)
  • struct nilfs_btree_node(9)
  • struct nilfs_direct_node(9)
  • struct nilfs_palloc_group_desc(9)
  • struct nilfs_dat_entry(9)
  • struct nilfs_snapshot_list(9)
  • struct nilfs_checkpoint(9)
  • struct nilfs_cpfile_header(9)
  • struct nilfs_segment_usage(9)
  • struct nilfs_sufile_header(9)

that's the whole page bestie, you ate it up πŸ’– this lil' gem lives in ./include/uapi/linux, dated October 2026, and it's formatted as a Kernel API Manual page β€” go forth and read structs responsibly πŸ§šβ€β™€οΈπŸŒˆ

πŸ“¦ where this page comes from