tvl-depot/tvix/castore
Florian Klink b025a30d27 refactor(tvix/castore/fs): remove From<Node> for InodeData
These were copying unnecessarily. Instead, have a
InodeData::from_node(), which *consumes* the Node entirely, returns
`InodeData` and the split-off name (which is not part of InodeData).

Callers can then use the result in various helper functions, like:

 - InodeData::as_fuse_type
 - InodeData::as_fuse_file_attr
 - InodeData::as_fuse_entry

… to prepare their replies to the kernel.

This removes not only a bunch of clones, but also a lot of copy-pasted
code.

Change-Id: Idbca5f25cc29e96c1f4c614b33dff2becb0a8738
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11435
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-04-15 14:49:44 +00:00
..
docs docs(tvix/castore/blobstore): reorganize docs 2024-02-06 18:28:00 +00:00
protos docs(tvix/castore/directorysvc): K/V is not necessarily flat 2024-02-20 09:17:38 +00:00
src refactor(tvix/castore/fs): remove From<Node> for InodeData 2024-04-15 14:49:44 +00:00
build.rs feat(tvix/castore): derive Eq and Hash automatically 2024-03-20 21:19:02 +00:00
Cargo.toml fix(tvix/castore/directory): fix graph traversal 2024-04-15 14:47:12 +00:00
default.nix feat(tvix/castore/directory): add bigtable backend 2024-04-09 15:50:34 +00:00