use crate::blockdev::BlockDevice;
pub struct HashTreeManager {
pub(super) hash_seed: [u32; 4],
pub(super) hash_version: u8,
pub(super) indirect_levels: u8,
}
impl HashTreeManager {
pub fn new(hash_seed: [u32; 4], hash_version: u8, indirect_levels: u8) -> Self {
Self {
hash_seed,
hash_version,
indirect_levels,
}
}
pub fn lookup<B: BlockDevice>(
&self,
fs: &mut crate::ext4::Ext4FileSystem,
block_dev: &mut crate::blockdev::Jbd2Dev<B>,
dir_inode: &crate::disknode::Ext4Inode,
target_name: &[u8],
) -> Result<crate::hashtree::HashTreeSearchResult, crate::hashtree::HashTreeError> {
super::lookup::lookup(self, fs, block_dev, dir_inode, target_name)
}
}