Expand description
ext2 Filesystem Implementation
This module implements an ext2 filesystem driver for the VFS v2 architecture. It provides support for reading and writing ext2 filesystems on block devices, particularly designed to work with virtio-blk devices.
§Features
- Full ext2 filesystem support
- Read and write operations
- Directory navigation
- File creation, deletion, and modification
- Integration with VFS v2 architecture
- Block device compatibility
§Architecture
The ext2 implementation consists of:
Ext2FileSystem: Main filesystem implementationExt2Node: VFS node implementation for files and directoriesExt2Driver: Filesystem driver for registration- Data structures for ext2 format (superblock, inode, directory entries, etc.)
Re-exports§
pub use driver::Ext2Driver;pub use node::Ext2CharDeviceFileObject;pub use node::Ext2DirectoryObject;pub use node::Ext2FileObject;pub use node::Ext2Node;pub use structures::*;
Modules§
- driver
- ext2 Filesystem Driver Implementation
- node
- ext2 VFS Node Implementation
- structures
- ext2 data structures
Structs§
- Block
LruCache 🔒 - O(1) LRU cache implementation using HashMap + doubly-linked list This implementation uses indices instead of raw pointers to be thread-safe
- Ext2
File System - ext2 Filesystem implementation
- Ext2
Params - ext2 filesystem parameters for mount options
- Inode
LruCache 🔒 - O(1) LRU cache implementation for inodes using HashMap + doubly-linked list
- Inode
LruNode 🔒 - Node in doubly-linked list for O(1) LRU operations for inodes
- LruNode 🔒
- Node in doubly-linked list for O(1) LRU operations
Statics§
Functions§
- register_
driver 🔒 - Register the ext2 driver with the filesystem driver manager
Type Aliases§
- NodeId 🔒
- Node ID type for the LRU cache