Hi all,

I opened a follow-up PR for CS-FileSystem:

https://github.com/cyber-shuttle/CS-FileSystem/pull/2

This adds a `materialize` mode for the ATLAS metadata filesystem. The
existing FUSE path still mounts the ATLAS data as a virtual filesystem,
while the new materialize path writes the same logical tree to a real
directory that can be exported with the system NFS server.

The new usage is:

cargo run --release -- fuse data/2024_11_18_ATLAS_info.tsv /tmp/atlas_mount

and:

cargo run --release -- materialize data/2024_11_18_ATLAS_info.tsv
/tmp/atlas_export

I validated the change with:

- cargo fmt --check
- cargo check
- cargo test
- FUSE mount/read/unmount flow using /tmp/atlas_mount
- materialized export/read flow using /tmp/atlas_export

I chose the materialized-directory approach for NFS as an incremental step
instead of implementing a native NFS server in Rust. This keeps the ATLAS
data path reusable while relying on the system NFS server for actual NFS
export. A native NFS server could be a later follow-up if we need fully
dynamic network serving.

Thanks,
Jayanth Vennamreddy

Reply via email to