STRUCT NILFS_SUPER_BLOCK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so this is the struct nilfs_super_block(9) page from the Kernel API Manual, bestie β€” and it’s literally the structure of the super block on disk. no cap, that’s the whole vibe. 🫢

🌸 SYNOPSIS 🌸

here’s the struct in all its on-disk glory, every field kept exactly in order:

       struct nilfs_super_block {
           __le32 s_rev_level;
           __le16 s_minor_rev_level;
           __le16 s_magic;
           __le16 s_bytes;
           __le16 s_flags;
           __le32 s_crc_seed;
           __le32 s_sum;
           __le32 s_log_block_size;
           __le64 s_nsegments;
           __le64 s_dev_size;
           __le64 s_first_data_block;
           __le32 s_blocks_per_segment;
           __le32 s_r_segments_percentage;
           __le64 s_last_cno;
           __le64 s_last_pseg;
           __le64 s_last_seq;
           __le64 s_free_blocks_count;
           __le64 s_ctime;
           __le64 s_mtime;
           __le64 s_wtime;
           __le16 s_mnt_count;
           __le16 s_max_mnt_count;
           __le16 s_state;
           __le16 s_errors;
           __le64 s_lastcheck;
           __le32 s_checkinterval;
           __le32 s_creator_os;
           __le16 s_def_resuid;
           __le16 s_def_resgid;
           __le32 s_first_ino;
           __le16 s_inode_size;
           __le16 s_dat_entry_size;
           __le16 s_checkpoint_size;
           __le16 s_segment_usage_size;
           __u8 s_uuid[16];
           char s_volume_name[80]       __kernel_nonstring;
           __le32 s_c_interval;
           __le32 s_c_block_max;
           __le64 s_feature_compat;
           __le64 s_feature_compat_ro;
           __le64 s_feature_incompat;
           __u32 s_reserved[186];
        };

πŸŽ€ Members πŸŽ€

field-by-field vibe check, bestie β€” same order, all the lore πŸ’…

  • s_rev_level β€” revision level, periodt.
  • s_minor_rev_level β€” minor revision level, the little sibling energy.
  • s_magic β€” magic signature, iconic.
  • s_bytes β€” bytes count of CRC calculation for this structure. s_reserved is excluded. noted, fr fr.
  • s_flags β€” flags. that’s it, flags.
  • s_crc_seed β€” seed value of CRC calculation.
  • s_sum β€” check sum of super block.
  • s_log_block_size β€” block size represented as follows: blocksize = 1 << (s_log_block_size + 10).
  • s_nsegments β€” number of segments in filesystem.
  • s_dev_size β€” block device size in bytes.
  • s_first_data_block β€” 1st seg disk block number.
  • s_blocks_per_segment β€” number of blocks per full segment.
  • s_r_segments_percentage β€” reserved segments percentage.
  • s_last_cno β€” last checkpoint number.
  • s_last_pseg β€” disk block addr pseg written last.
  • s_last_seq β€” seq. number of seg written last.
  • s_free_blocks_count β€” free blocks count.
  • s_ctime β€” creation time (execution time of newfs).
  • s_mtime β€” mount time.
  • s_wtime β€” write time.
  • s_mnt_count β€” mount count.
  • s_max_mnt_count β€” maximal mount count.
  • s_state β€” file system state.
  • s_errors β€” behaviour when detecting errors.
  • s_lastcheck β€” time of last check.
  • s_checkinterval β€” max. time between checks.
  • s_creator_os β€” OS.
  • s_def_resuid β€” default uid for reserved blocks.
  • s_def_resgid β€” default gid for reserved blocks.
  • s_first_ino β€” first non-reserved inode.
  • s_inode_size β€” size of an inode.
  • s_dat_entry_size β€” size of a dat entry.
  • s_checkpoint_size β€” size of a checkpoint.
  • s_segment_usage_size β€” size of a segment usage.
  • s_uuid β€” 128-bit uuid for volume.
  • s_volume_name β€” volume name.
  • s_c_interval β€” commit interval of segment.
  • s_c_block_max β€” threshold of data amount for the segment construction.
  • s_feature_compat β€” compatible feature set.
  • s_feature_compat_ro β€” read-only compatible feature set.
  • s_feature_incompat β€” incompatible feature set.
  • s_reserved β€” padding to the end of the block.

πŸ¦‹ SEE ALSO πŸ¦‹

go read these too, iykyk πŸ‘‘

  • Kernel file ./include/uapi/linux/nilfs2_ondisk.h
  • struct nilfs_inode(9)
  • struct nilfs_super_root(9)
  • struct nilfs_finfo(9)
  • struct nilfs_binfo_v(9)
  • struct nilfs_binfo_dat(9)
  • union nilfs_binfo(9)
  • struct nilfs_segment_summary(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)

mwah πŸ’‹ β€” source/version: ./include/uapi/linux, date: October 2026, page: struct nilfs_super_block(9). byeee 🫢✨

πŸ“¦ where this page comes from