Expand description
Filesystem Parameter System
This module provides a type-safe parameter system for filesystem creation, replacing the legacy BTreeMap<String, String> approach with structured configuration types that provide compile-time validation and better ergonomics.
§Overview
The parameter system enables:
- Type Safety: Compile-time validation of filesystem parameters
- Backward Compatibility: Conversion to/from string maps for legacy code
- Extensibility: Easy addition of new parameter types for different filesystems
- Dynamic Dispatch: Support for future dynamic filesystem module loading
§Architecture
All filesystem parameter types implement the FileSystemParams
trait, which
provides standardized interfaces for:
- String map conversion for backward compatibility
- Dynamic type identification for runtime dispatch
- Structured access to typed configuration data
§Usage
use crate::fs::params::{TmpFSParams, BasicFSParams};
// Create TmpFS with 1MB memory limit
let tmpfs_params = TmpFSParams::with_memory_limit(1048576);
let fs_id = vfs_manager.create_and_register_fs_with_params("tmpfs", &tmpfs_params)?;
// Create basic filesystem
let basic_params = BasicFSParams::with_block_size(4096);
let fs_id = vfs_manager.create_and_register_fs_with_params("ext4", &basic_params)?;
Structs§
- BasicFS
Params - Generic parameters for basic filesystem creation
- CpioFS
Params - Parameters for CPIO filesystem creation
- TmpFS
Params - TmpFS filesystem configuration parameters
Traits§
- File
System Params - Core trait for filesystem parameter types