feat(tvix/store): add mount command to entrypoint and fuse mod

`tvix-store mount PATH` will mount the tvix-store to the given path.

Change-Id: Icb82a6b3cb8a22eec856c375a28ae5580403833f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/8665
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
This commit is contained in:
Florian Klink 2023-05-28 09:32:21 +02:00 committed by flokli
parent 365937cd08
commit b3ca1a78eb
3 changed files with 55 additions and 0 deletions

View file

@ -0,0 +1,24 @@
use crate::{
blobservice::BlobService, directoryservice::DirectoryService, pathinfoservice::PathInfoService,
};
pub struct FUSE<BS: BlobService, DS: DirectoryService, PS: PathInfoService> {
blob_service: BS,
directory_service: DS,
path_info_service: PS,
}
impl<BS: BlobService, DS: DirectoryService, PS: PathInfoService> FUSE<BS, DS, PS> {
pub fn new(path_info_service: PS, directory_service: DS, blob_service: BS) -> Self {
Self {
blob_service,
path_info_service,
directory_service,
}
}
}
impl<BS: BlobService, DS: DirectoryService, PS: PathInfoService> fuser::Filesystem
for FUSE<BS, DS, PS>
{
}