From 0ae32d45f690eed8f259ac55b4d0d8bbc006baf2 Mon Sep 17 00:00:00 2001 From: Ryan Lahfa Date: Sun, 17 Dec 2023 01:22:01 +0100 Subject: feat(tvix/castore): simple filesystem blob service The simple filesystem `BlobService` enable a user to write blob store on an existing filesystem using a prefix-style layout in the provided root directory, e.g. the two first bytes of the blake3 hashes are used as directories prefixes. Change-Id: I3451a688a6f39027b9c6517d853b95a87adb3a52 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10071 Autosubmit: raitobezarius Tested-by: BuildkiteCI Reviewed-by: flokli --- tvix/castore/src/blobservice/mod.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tvix/castore/src/blobservice/mod.rs') diff --git a/tvix/castore/src/blobservice/mod.rs b/tvix/castore/src/blobservice/mod.rs index faaf94f03746..d024121eaa39 100644 --- a/tvix/castore/src/blobservice/mod.rs +++ b/tvix/castore/src/blobservice/mod.rs @@ -7,6 +7,7 @@ mod from_addr; mod grpc; mod memory; mod naive_seeker; +mod simplefs; mod sled; #[cfg(test)] @@ -15,6 +16,7 @@ mod tests; pub use self::from_addr::from_addr; pub use self::grpc::GRPCBlobService; pub use self::memory::MemoryBlobService; +pub use self::simplefs::SimpleFilesystemBlobService; pub use self::sled::SledBlobService; /// The base trait all BlobService services need to implement. @@ -51,3 +53,4 @@ pub trait BlobReader: tokio::io::AsyncRead + tokio::io::AsyncSeek + Send + Unpin /// A [`io::Cursor>`] can be used as a BlobReader. impl BlobReader for io::Cursor> {} +impl BlobReader for tokio::fs::File {} -- cgit 1.4.1