Skip to main content

Crate rsext4

Crate rsext4 

Source
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::delete_dir;
pub use file::delete_file;
pub use file::is_dir_empty;
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::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.