Skip to content

Ext2

Member TypeMember Name
uint32_tinodes_count
uint32_tblocks_count
uint32_tr_blocks_count
uint32_tfree_blocks_count
uint32_tfree_inodes_count
uint32_tfirst_data_block
uint32_tlog_block_size
uint32_tlog_frag_size
uint32_tblocks_per_group
uint32_tfrags_per_group
uint32_tinodes_per_group
uint32_tmtime
uint32_twtime
uint16_tmnt_count
uint16_tmax_mnt_count
uint16_tmagic
uint16_tstate
uint16_terrors
uint16_tminor_rev_level
uint32_tlastcheck
uint32_tcheckinterval
uint32_tcreator_os
uint32_trev_level
uint16_tdef_resuid
uint16_tdef_resgid
uint32_tfirst_ino
uint16_tinode_size
uint16_tblock_group_nr
uint32_tfeature_compat
uint32_tfeature_incompat
uint32_tfeature_ro_compat
uint8_tuuid[16]
charvolume_name[16]
charlast_mounted[64]
uint32_talgorithm_usage_bitmap
uint8_tprealloc_blocks
uint8_tprealloc_dir_blocks
uint16_tpadding
union { struct { uint32_t journal_uuid[4]; uint32_t journal_inum; uint32_t journal_dev; uint32_t last_orphan; uint32_t hash_seed[4]; uint8_t def_hash_version; uint8_t journal_backup_type; uint16_t desc_size; uint32_t default_mount_opts; uint32_t first_meta_bg; uint32_t mkfs_time; uint32_t journal_blocks[17]; uint32_t quota_group_inode; // [4] → offset 0x258 uint32_t quota_project_inode; // [5] → offset 0x25C }; uint32_t reserved[204]; }None
Member TypeMember Name
uint32_tblock_bitmap
uint32_tinode_bitmap
uint32_tinode_table
uint16_tfree_blocks_count
uint16_tfree_inodes_count
uint16_tused_dirs_count
uint16_tpad
uint32_treserved[3]
Member TypeMember Name
uint16_tmode
uint16_tuid
uint32_tsize
uint32_tatime
uint32_tctime
uint32_tmtime
uint32_tdtime
uint16_tgid
uint16_tlinks_count
uint32_tblocks
uint32_tflags
uint32_tosd1
uint32_tblock[EXT2_NBLOCKS]
uint32_tgeneration
uint32_tfile_acl
uint32_tdir_acl
uint32_tfaddr
uint8_tfrag[16]
uint8_tosd2[12]
Member TypeMember Name
struct ext2_inodenode
uint32_tinode_num
struct bcache_entry*ent
Member TypeMember Name
uint32_tinode
uint16_trec_len
uint8_tname_len
uint8_tfile_type
charname[EXT2_NAME_LEN + 1]
Member TypeMember Name
struct generic_partition*partition
struct generic_disk*drive
struct ext2_sblock*sblock
struct ext2_group_desc*group_desc
struct bcache_entry*sbcache_ent
struct bcache_entry*gdesc_cache_ent
uint32_tnum_groups
uint32_tinodes_count
uint32_tinodes_per_group
uint32_tblocks_per_group
uint32_tblock_size
uint32_tsectors_per_block
uint16_tinode_size
struct spinlocklock

(*dir_entry_callback) : bool (struct ext2_fs *fs, struct ext2_dir_entry *entry, void *ctx, uint32_t block_num, uint32_t entry_num, uint32_t entry_offset)

(*ext2_block_visitor) : void (struct ext2_fs *fs, struct ext2_inode *inode, uint32_t depth, uint32_t *block_ptr, void *user_data)

static bool nop_callback(struct ext2_fs *fs, struct ext2_dir_entry *entry,
void *ctx_ptr, uint32_t block_num,
uint32_t entry_num, uint32_t entry_offset) {
(void) fs;
(void) entry_offset;
(void) entry;
(void) ctx_ptr;
(void) block_num;
(void) entry_num;
return false;
}