chore(tvix/castore/fuse): impl Layer for TvixStoreFs
Allows using a TvixStoreFs in overlay filesystems Change-Id: I10e63c92776b1c783947d92070f360865ef2883c Reviewed-on: https://cl.tvl.fyi/c/depot/+/12539 Autosubmit: yuka <yuka@yuka.dev> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
1034cc7774
commit
1c24d483d5
1 changed files with 12 additions and 1 deletions
|
@ -24,7 +24,7 @@ use crate::{
|
||||||
use bstr::ByteVec;
|
use bstr::ByteVec;
|
||||||
use fuse_backend_rs::abi::fuse_abi::{stat64, OpenOptions};
|
use fuse_backend_rs::abi::fuse_abi::{stat64, OpenOptions};
|
||||||
use fuse_backend_rs::api::filesystem::{
|
use fuse_backend_rs::api::filesystem::{
|
||||||
Context, FileSystem, FsOptions, GetxattrReply, ListxattrReply, ROOT_ID,
|
Context, FileSystem, FsOptions, GetxattrReply, Layer, ListxattrReply, ROOT_ID,
|
||||||
};
|
};
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use parking_lot::RwLock;
|
use parking_lot::RwLock;
|
||||||
|
@ -300,6 +300,17 @@ const ROOT_NODES_BUFFER_SIZE: usize = 16;
|
||||||
const XATTR_NAME_DIRECTORY_DIGEST: &[u8] = b"user.tvix.castore.directory.digest";
|
const XATTR_NAME_DIRECTORY_DIGEST: &[u8] = b"user.tvix.castore.directory.digest";
|
||||||
const XATTR_NAME_BLOB_DIGEST: &[u8] = b"user.tvix.castore.blob.digest";
|
const XATTR_NAME_BLOB_DIGEST: &[u8] = b"user.tvix.castore.blob.digest";
|
||||||
|
|
||||||
|
impl<BS, DS, RN> Layer for TvixStoreFs<BS, DS, RN>
|
||||||
|
where
|
||||||
|
BS: AsRef<dyn BlobService> + Clone + Send + 'static,
|
||||||
|
DS: AsRef<dyn DirectoryService> + Send + Clone + 'static,
|
||||||
|
RN: RootNodes + Clone + 'static,
|
||||||
|
{
|
||||||
|
fn root_inode(&self) -> Self::Inode {
|
||||||
|
ROOT_ID
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<BS, DS, RN> FileSystem for TvixStoreFs<BS, DS, RN>
|
impl<BS, DS, RN> FileSystem for TvixStoreFs<BS, DS, RN>
|
||||||
where
|
where
|
||||||
BS: AsRef<dyn BlobService> + Clone + Send + 'static,
|
BS: AsRef<dyn BlobService> + Clone + Send + 'static,
|
||||||
|
|
Loading…
Reference in a new issue