Expand description
Core ext4 filesystem implementation.
This crate contains the main filesystem domains:
- Filesystem mount, sync, and mkfs (
api,ext4) - Block device and journal integration (
blockdev,loopfile,jbd2) - Block groups, bitmaps, and caches (
blockgroup_description,bitmap,cache) - File and directory operations (
file,dir,entries) - Disk metadata structures (
disknode,superblock) - Supporting configuration and utilities (
config,endian,tool)
Re-exports§
pub use api::lseek;pub use api::open;pub use api::read_at;pub use api::write_at;pub use blockdev::BlockDevice;pub use blockdev::Jbd2Dev;pub use config::BITMAP_CACHE_MAX;pub use config::BLOCK_SIZE;pub use config::BLOCK_SIZE_U32;pub use config::DATABLOCK_CACHE_MAX;pub use config::DEFAULT_FEATURE_COMPAT;pub use config::DEFAULT_FEATURE_INCOMPAT;pub use config::DEFAULT_FEATURE_RO_COMPAT;pub use config::DEFAULT_INODE_SIZE;pub use config::DIRNAME_LEN;pub use config::EXT4_MAJOR_VERSION;pub use config::EXT4_MINOR_VERSION;pub use config::EXT4_SUPER_MAGIC;pub use config::GROUP_DESC_SIZE;pub use config::GROUP_DESC_SIZE_OLD;pub use config::INODE_CACHE_MAX;pub use config::JBD2_BUFFER_MAX;pub use config::LOG_BLOCK_SIZE;pub use config::RESERVED_GDT_BLOCKS;pub use config::RESERVED_INODES;pub use config::SUPERBLOCK_OFFSET;pub use config::SUPERBLOCK_SIZE;pub use dir::mkdir;pub use dir::mkdir_with_owner;pub use disknode::Ext4TimeSpec;pub use disknode::Ext4Timestamp;pub use error::Errno;pub use error::Ext4Error;pub use error::Ext4Result;pub use ext4::Ext4FileSystem;pub use ext4::find_file;pub use ext4::mkfs;pub use ext4::mount;pub use ext4::umount;pub use file::create_symbol_link;pub use file::create_symbol_link_with_owner;pub use file::delete_dir;pub use file::delete_file;pub use file::is_dir_empty;pub use file::link;pub use file::mkfile;pub use file::mkfile_with_owner;pub use file::mv;pub use file::read_file;pub use file::rename;pub use file::truncate;pub use file::unlink;pub use file::write_file;pub use file::write_inode_data;pub use metadata::chmod;pub use metadata::chown;pub use metadata::set_flags;pub use metadata::set_project;pub use metadata::utimens;
Modules§
- api
- High-level filesystem API exports.
- bitmap
- Bitmap primitives for block and inode allocation tracking.
- blockdev
- Block device abstractions, buffering, and JBD2 integration.
- blockgroup_
description - Block group descriptor types, tables, and checksum helpers.
- bmalloc
- Block and inode bitmap allocation helpers.
- cache
- Shared cache managers for bitmaps, inode tables, and data blocks.
- checksum
- Ext4 and JBD2 checksum helpers.
- config
- Configuration constants used across the ext4 implementation.
- crc32c
- dir
- Directory creation, lookup, and bootstrap helpers.
- disknode
- On-disk inode, extent, and timestamp types.
- endian
- Endian conversion helpers for ext4 disk structures.
- entries
- Directory entry structures and traversal helpers.
- error
- Unified Linux-style error model for the crate.
- ext4
- Core filesystem state, mount, allocation, and mkfs helpers.
- extents_
tree - Extent tree node parsing and update helpers.
- file
- File and inode data operations.
- hashtree
- Hash tree helpers for indexed directory lookup.
- jbd2
- JBD2 journal support for the ext4 implementation.
- loopfile
- Path walking and inode block-resolution helpers.
- metadata
- Inode metadata update helpers and path-based metadata APIs.
- superblock
- Ext4 superblock definitions, helpers, and disk encoding.
- tool
- Small utility helpers shared across the filesystem implementation.