about summary refs log tree commit diff
path: root/tvix/store/src/fs/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/store/src/fs/mod.rs')
-rw-r--r--tvix/store/src/fs/mod.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/tvix/store/src/fs/mod.rs b/tvix/store/src/fs/mod.rs
index fbd1cb6fc5e1..c11bd0a44c7e 100644
--- a/tvix/store/src/fs/mod.rs
+++ b/tvix/store/src/fs/mod.rs
@@ -54,13 +54,14 @@ use self::{
 /// corresponding store nodes.
 ///
 /// We internally delegate all inode allocation and state keeping to the
-/// inode tracker, and store the currently "explored" root nodes together with
-/// root inode of the root.
+/// inode tracker.
+/// We store a mapping from currently "explored" names in the root to their
+/// inode.
 ///
 /// There's some places where inodes are allocated / data inserted into
 /// the inode tracker, if not allocated before already:
 ///  - Processing a `lookup` request, either in the mount root, or somewhere
-///    deeper
+///    deeper.
 ///  - Processing a `readdir` request
 ///
 ///  Things pointing to the same contents get the same inodes, irrespective of
@@ -72,7 +73,8 @@ use self::{
 ///
 /// Due to the above being valid across the whole store, and considering the
 /// merkle structure is a DAG, not a tree, this also means we can't do "bucketed
-/// allocation", aka reserve Directory.size inodes for each PathInfo.
+/// allocation", aka reserve Directory.size inodes for each directory node we
+/// explore.
 pub struct TvixStoreFs<BS, DS, RN> {
     blob_service: BS,
     directory_service: DS,
@@ -81,7 +83,7 @@ pub struct TvixStoreFs<BS, DS, RN> {
     /// Whether to (try) listing elements in the root.
     list_root: bool,
 
-    /// This maps a given StorePath to the inode we allocated for the root inode.
+    /// This maps a given basename in the root to the inode we allocated for the node.
     root_nodes: RwLock<HashMap<Vec<u8>, u64>>,
 
     /// This keeps track of inodes and data alongside them.