pub struct RamFileSystem {
pub(crate) inodes: RwLock<BTreeMap<u64, Arc<RamInode>>>,
pub(crate) next_inode: AtomicU64,
pub(crate) capabilities: FsCapabilities,
}Fields§
§inodes: RwLock<BTreeMap<u64, Arc<RamInode>>>§next_inode: AtomicU64§capabilities: FsCapabilitiesImplementations§
Source§impl RamFileSystem
impl RamFileSystem
Sourcepub(crate) fn allocate_inode(&self, node: RamNode) -> u64
pub(crate) fn allocate_inode(&self, node: RamNode) -> u64
Implements allocate inode.
Sourcepub(crate) fn lookup_child_inode(
&self,
parent_ino: u64,
name: &str,
) -> FsResult<u64>
pub(crate) fn lookup_child_inode( &self, parent_ino: u64, name: &str, ) -> FsResult<u64>
Implements lookup child inode.
Sourcepub fn resolve_path_internal(&self, path: &str) -> FsResult<u64>
pub fn resolve_path_internal(&self, path: &str) -> FsResult<u64>
Internal helper to resolve path to inode (used by IPC server)
Sourcepub(crate) fn to_file_mode(mode: u32) -> u32
pub(crate) fn to_file_mode(mode: u32) -> u32
Converts this value to file mode.
Sourcepub(crate) fn to_dir_mode(mode: u32) -> u32
pub(crate) fn to_dir_mode(mode: u32) -> u32
Converts this value to dir mode.
Sourcepub fn register_open(&self, ino: u64) -> FsResult<()>
pub fn register_open(&self, ino: u64) -> FsResult<()>
Implements register open.
Sourcepub fn unregister_open(&self, ino: u64) -> FsResult<()>
pub fn unregister_open(&self, ino: u64) -> FsResult<()>
Implements unregister open.
Sourcepub(crate) fn directory_contains_inode(
&self,
root_dir_ino: u64,
target_ino: u64,
) -> FsResult<bool>
pub(crate) fn directory_contains_inode( &self, root_dir_ino: u64, target_ino: u64, ) -> FsResult<bool>
Implements directory contains inode.
Sourcepub(crate) fn collect_if_detached(&self, ino: u64) -> FsResult<()>
pub(crate) fn collect_if_detached(&self, ino: u64) -> FsResult<()>
Implements collect if detached.
Sourcepub(crate) fn collect_detached_subtree(&self, ino: u64) -> FsResult<()>
pub(crate) fn collect_detached_subtree(&self, ino: u64) -> FsResult<()>
Implements collect detached subtree.
Trait Implementations§
Source§impl VfsFileSystem for RamFileSystem
impl VfsFileSystem for RamFileSystem
Source§fn capabilities(&self) -> &FsCapabilities
fn capabilities(&self) -> &FsCapabilities
Implements capabilities.
Source§fn root_inode(&self) -> u64
fn root_inode(&self) -> u64
Implements root inode.
Source§fn get_volume_info(&self) -> FsResult<VfsVolumeInfo>
fn get_volume_info(&self) -> FsResult<VfsVolumeInfo>
Returns volume info.
Source§fn create_file(
&self,
parent_ino: u64,
name: &str,
mode: u32,
) -> FsResult<VfsFileInfo>
fn create_file( &self, parent_ino: u64, name: &str, mode: u32, ) -> FsResult<VfsFileInfo>
Implements create file.
Source§fn create_directory(
&self,
parent_ino: u64,
name: &str,
mode: u32,
) -> FsResult<VfsFileInfo>
fn create_directory( &self, parent_ino: u64, name: &str, mode: u32, ) -> FsResult<VfsFileInfo>
Implements create directory.
Source§fn unlink(&self, parent_ino: u64, name: &str, target_ino: u64) -> FsResult<()>
fn unlink(&self, parent_ino: u64, name: &str, target_ino: u64) -> FsResult<()>
Implements unlink.
Source§fn rename(
&self,
old_parent: u64,
old_name: &str,
new_parent: u64,
new_name: &str,
flags: RenameFlags,
) -> FsResult<()>
fn rename( &self, old_parent: u64, old_name: &str, new_parent: u64, new_name: &str, flags: RenameFlags, ) -> FsResult<()>
Implements rename.
Source§fn set_times(
&self,
ino: u64,
_atime: Option<VfsTimestamp>,
_mtime: Option<VfsTimestamp>,
) -> FsResult<()>
fn set_times( &self, ino: u64, _atime: Option<VfsTimestamp>, _mtime: Option<VfsTimestamp>, ) -> FsResult<()>
Sets times.
Source§fn invalidate_inode(&self, _ino: u64)
fn invalidate_inode(&self, _ino: u64)
Implements invalidate inode.
Source§fn invalidate_all_caches(&self)
fn invalidate_all_caches(&self)
Implements invalidate all caches.
Source§fn create_symlink(
&self,
parent_ino: u64,
name: &str,
target: &str,
) -> Result<VfsFileInfo, FsError>
fn create_symlink( &self, parent_ino: u64, name: &str, target: &str, ) -> Result<VfsFileInfo, FsError>
Creates a symbolic link. Read more
Auto Trait Implementations§
impl !Freeze for RamFileSystem
impl !RefUnwindSafe for RamFileSystem
impl !UnwindSafe for RamFileSystem
impl Send for RamFileSystem
impl Sync for RamFileSystem
impl Unpin for RamFileSystem
impl UnsafeUnpin for RamFileSystem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> VfsFileSystemExt for Twhere
T: VfsFileSystem + 'static,
impl<T> VfsFileSystemExt for Twhere
T: VfsFileSystem + 'static,
Source§fn into_arc(self) -> Arc<dyn VfsFileSystem>
fn into_arc(self) -> Arc<dyn VfsFileSystem>
Implements into arc.