diff options
author | Florian Klink <flokli@flokli.de> | 2024-04-15T12·03+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-04-15T13·59+0000 |
commit | bccb4c92c357202e8be0f37345c0a933bd9c2cc0 (patch) | |
tree | 20a40d17203c8e9807da62b348b5ee4bb076cf9b /tvix/castore/src/fs/mod.rs | |
parent | 50065afd36e9dbe685fada65a0c65a520918ec1d (diff) |
refactor(tvix/castore/fs): add InodeData::as_fuse_{entry,file_attr} r/7921
Remove the now unused gen_file_attr (which had a wrong docstring). Change-Id: Ie86b14d1ad798e6233bc44c43ace3f8b95c67ea9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11430 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
Diffstat (limited to 'tvix/castore/src/fs/mod.rs')
-rw-r--r-- | tvix/castore/src/fs/mod.rs | 40 |
1 files changed, 8 insertions, 32 deletions
diff --git a/tvix/castore/src/fs/mod.rs b/tvix/castore/src/fs/mod.rs index 2bf22a33ff99..1988a49cfc15 100644 --- a/tvix/castore/src/fs/mod.rs +++ b/tvix/castore/src/fs/mod.rs @@ -14,7 +14,7 @@ mod tests; pub use self::root_nodes::RootNodes; use self::{ - file_attr::{gen_file_attr, ROOT_FILE_ATTR}, + file_attr::ROOT_FILE_ATTR, inode_tracker::InodeTracker, inodes::{DirectoryInodeData, InodeData}, }; @@ -328,9 +328,9 @@ where match self.inode_tracker.read().get(inode) { None => Err(io::Error::from_raw_os_error(libc::ENOENT)), - Some(node) => { - debug!(node = ?node, "found node"); - Ok((gen_file_attr(&node, inode).into(), Duration::MAX)) + Some(inode_data) => { + debug!(inode_data = ?inode_data, "found node"); + Ok((inode_data.as_fuse_file_attr(inode).into(), Duration::MAX)) } } } @@ -353,13 +353,7 @@ where let (ino, inode_data) = self.name_in_root_to_ino_and_data(name)?; debug!(inode_data=?&inode_data, ino=ino, "Some"); - return Ok(fuse_backend_rs::api::filesystem::Entry { - inode: ino, - attr: gen_file_attr(&inode_data, ino).into(), - attr_timeout: Duration::MAX, - entry_timeout: Duration::MAX, - ..Default::default() - }); + return Ok(inode_data.as_fuse_entry(ino)); } // This is the "lookup for "a" inside inode 42. // We already know that inode 42 must be a directory. @@ -376,13 +370,7 @@ where // Reply with the file attributes for the child. // For child directories, we still have all data we need to reply. - Ok(fuse_backend_rs::api::filesystem::Entry { - inode: *child_ino, - attr: gen_file_attr(&child_inode_data, *child_ino).into(), - attr_timeout: Duration::MAX, - entry_timeout: Duration::MAX, - ..Default::default() - }) + Ok(child_inode_data.as_fuse_entry(*child_ino)) } else { // Child not found, return ENOENT. Err(io::Error::from_raw_os_error(libc::ENOENT)) @@ -606,13 +594,7 @@ where type_: ty, name, }, - fuse_backend_rs::api::filesystem::Entry { - inode: ino, - attr: gen_file_attr(&inode_data, ino).into(), - attr_timeout: Duration::MAX, - entry_timeout: Duration::MAX, - ..Default::default() - }, + inode_data.as_fuse_entry(ino), )?; // If the buffer is full, add_entry will return `Ok(0)`. if written == 0 { @@ -646,13 +628,7 @@ where }, name: child_node.get_name(), }, - fuse_backend_rs::api::filesystem::Entry { - inode: *ino, - attr: gen_file_attr(&inode_data, *ino).into(), - attr_timeout: Duration::MAX, - entry_timeout: Duration::MAX, - ..Default::default() - }, + inode_data.as_fuse_entry(*ino), )?; // If the buffer is full, add_entry will return `Ok(0)`. if written == 0 { |