Module ext2

Module ext2 

Source
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 implementation
  • Ext2Node: VFS node implementation for files and directories
  • Ext2Driver: 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§

BlockLruCache 🔒
O(1) LRU cache implementation using HashMap + doubly-linked list This implementation uses indices instead of raw pointers to be thread-safe
Ext2FileSystem
ext2 Filesystem implementation
Ext2Params
ext2 filesystem parameters for mount options
InodeLruCache 🔒
O(1) LRU cache implementation for inodes using HashMap + doubly-linked list
InodeLruNode 🔒
Node in doubly-linked list for O(1) LRU operations for inodes
LruNode 🔒
Node in doubly-linked list for O(1) LRU operations

Statics§

__DRIVER_INITCALL__ 🔒

Functions§

register_driver 🔒
Register the ext2 driver with the filesystem driver manager

Type Aliases§

NodeId 🔒
Node ID type for the LRU cache