kernel/fs/vfs_v2/mod.rs
1//! VFS Version 2 - Modern Architecture Implementation
2//!
3//! This module implements the new VFS architecture with clear separation of concerns
4//! and improved performance characteristics. The design is inspired by modern
5//! operating systems like Linux and provides:
6//!
7//! ## Core Components
8//!
9//! - **VfsEntry**: Path hierarchy "names" and "links" (similar to Linux dentry)
10//! - Provides caching for fast path resolution
11//! - Manages parent-child relationships in the VFS tree
12//! - Thread-safe with weak reference cleanup
13//!
14//! - **VfsNode**: File "entity" interface (similar to Linux inode/BSD vnode)
15//! - Abstract representation of files, directories, and special files
16//! - Provides metadata access and type information
17//! - Enables clean downcasting for filesystem-specific operations
18//!
19//! - **FileSystemOperations**: Driver API for filesystem implementations
20//! - Consolidated interface for all filesystem operations
21//! - Clean separation between VFS and filesystem drivers
22//! - Supports modern filesystems with complex features
23//!
24//! ## Key Benefits
25//!
26//! - **Better Scalability**: Improved caching and lookup performance
27//! - **Enhanced Extensibility**: Clean interfaces for new filesystem types
28//! - **Standard OS Compatibility**: Familiar patterns for kernel developers
29//! - **Improved Symbolic Link Resolution**: Proper handling of symlink traversal
30//! - **Complex Filesystem Support**: Better support for advanced features like overlays
31//!
32//! ## Migration from VFS v1
33//!
34//! VFS v2 provides backward compatibility while offering improved APIs.
35//! New code should use the v2 interfaces for better performance and maintainability.
36pub mod core;
37pub mod drivers;
38pub mod manager;
39pub mod mount_tree;
40pub mod syscall;
41
42// VFS v2 test modules
43#[cfg(test)]
44pub mod tests;
45
46
47
48pub use core::*;
49pub use manager::{VfsManager, PathResolutionOptions};