Conversation
This comment has been minimized.
This comment has been minimized.
Mesa DescriptionThis PR introduces a significant architectural refactoring by extracting core filesystem and caching logic into a new, reusable The previous filesystem logic, including inode management and caching, was deeply integrated within the Key Changes:
Description generated by Mesa. Update settings |
There was a problem hiding this comment.
Performed full review of e2d3738...b4fa0dc
Analysis
-
Incomplete architecture for new asynchronous filesystem caching - the
AsyncFscomponent lacks critical interfaces for table population and write-through to the directory cache, making these data structures currently unusable. -
Background task orchestration framework is added but not connected to the rest of the system, leaving the foundational infrastructure without clear integration paths.
-
Significant regression in telemetry configuration - removal of
Trc::with_telemetryand hard-coding of OTLP exporter means application-level telemetry settings are now ignored. -
The PR attempts to introduce multiple significant architectural changes simultaneously (async filesystem caching, background tasks, telemetry rework) without complete implementation paths for each.
Tip
Help
Slash Commands:
/review- Request a full code review/review latest- Review only changes since the last review/describe- Generate PR description. This will update the PR body or issue comment depending on your configuration/help- Get help with Mesa commands and configuration options
0 files reviewed | 9 comments | Edit Agent Settings • Read Docs
4bb43c2 to
6d0510c
Compare
176d4d3 to
c8b0bd4
Compare
These items are still used by OrgFs — they were incorrectly annotated as dead after removing RepoFs's usage.
Rename CompositeFs -> CompositeFsLegacy and ChildSlot -> ChildSlotLegacy to make room for the new CompositeFs implementation that uses InodeBridge + DCache instead of the icache/HashMapBridge layer.
Add the new CompositeFs<Inner> that replaces the two-generic-parameter CompositeFsLegacy<R, Inner> with a simpler design: - Uses FutureBackedCache + DCache + InodeBridge instead of MescloudICache + HashMapBridge + FileTable - Owns refcounts, open-file table, and inode-to-slot mappings directly - Implements delegated_lookup with DCache fast path, delegated_readdir with readdir_populated guard, delegated_getattr, delegated_statfs, delegated_open/read/release, and delegated_forget - Provides add_child, cache_inode, cache_inode_and_inc_rc helpers All new code is behind #[expect(dead_code)] until MesaFS/OrgFs migrate.
MesaFS now wraps CompositeFs<OrgFs> and OrgFs wraps CompositeFs<RepoFs>, replacing CompositeFsLegacy and its MesaResolver/OrgResolver. The legacy icache infrastructure (MescloudICache, HashMapBridge, FileTable, InodeFactory, etc.) is now dead code, annotated with #[allow(dead_code)] for removal in a follow-up cleanup task.
Delete the entire legacy inode cache infrastructure that became unused after migrating MesaFS and OrgFs to the new CompositeFs: - src/fs/icache/ module (AsyncICache, IcbResolver, IcbLike, HashMapBridge, FileTable, InodeFactory) — 1,637 lines - src/fs/mescloud/icache.rs (MescloudICache, InodeControlBlock, make_common_file_attr, blocks_of_size) — 470 lines - CompositeFsLegacy and ChildSlotLegacy from composite.rs — 323 lines Net: -2,430 lines removed.
Replace the generic Fs trait with the INode-native ChildFs trait across the entire filesystem stack. CompositeFs, OrgFs, and MesaFS now work directly with lib types (INode, InodeAddr, FsDirEntry). FuserAdapter becomes concrete over MesaFS with INode-to-FileAttr conversion only at the FUSE boundary. Delete the now-unused trait.rs.
No description provided.