pub struct SimpleFs {
device: Option<Arc<dyn BlockDriver>>,
root: Arc<SimpleFsInode>,
}Expand description
简单的内存文件系统(用于测试)
Fields§
§device: Option<Arc<dyn BlockDriver>>§root: Arc<SimpleFsInode>Implementations§
Source§impl SimpleFs
impl SimpleFs
Sourcepub fn from_ramdisk(device: Arc<dyn BlockDriver>) -> Result<Self, FsError>
pub fn from_ramdisk(device: Arc<dyn BlockDriver>) -> Result<Self, FsError>
从块设备和镜像创建 SimpleFS
Sourcefn parse_file_entry(
device: Arc<dyn BlockDriver>,
offset: usize,
parent: Arc<SimpleFsInode>,
) -> Result<usize, FsError>
fn parse_file_entry( device: Arc<dyn BlockDriver>, offset: usize, parent: Arc<SimpleFsInode>, ) -> Result<usize, FsError>
解析镜像中的单个文件条目并添加到父目录
Sourcefn read_at_offset(
device: Arc<dyn BlockDriver>,
offset: usize,
buf: &mut [u8],
) -> Result<(), FsError>
fn read_at_offset( device: Arc<dyn BlockDriver>, offset: usize, buf: &mut [u8], ) -> Result<(), FsError>
从设备的任意偏移位置读取数据(支持跨块读取)
Sourcefn insert_inode_by_path(
path: &str,
inode: Arc<SimpleFsInode>,
root: Arc<SimpleFsInode>,
) -> Result<(), FsError>
fn insert_inode_by_path( path: &str, inode: Arc<SimpleFsInode>, root: Arc<SimpleFsInode>, ) -> Result<(), FsError>
按路径插入 inode,自动创建不存在的中间目录
Trait Implementations§
Source§impl FileSystem for SimpleFs
impl FileSystem for SimpleFs
Source§fn root_inode(&self) -> Arc<dyn Inode>
fn root_inode(&self) -> Arc<dyn Inode>
获取根 inode Read more