Module params

Source
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§

BasicFSParams
Generic parameters for basic filesystem creation
CpioFSParams
Parameters for CPIO filesystem creation
TmpFSParams
TmpFS filesystem configuration parameters

Traits§

FileSystemParams
Core trait for filesystem parameter types