struct SimpleFsInode {
inode_no: usize,
inode_type: InodeType,
mode: FileMode,
data: SpinLock<Vec<u8>>,
children: SpinLock<BTreeMap<String, Arc<SimpleFsInode>>>,
}Expand description
简单文件系统的 Inode
Fields§
§inode_no: usize§inode_type: InodeType§mode: FileMode§data: SpinLock<Vec<u8>>§children: SpinLock<BTreeMap<String, Arc<SimpleFsInode>>>Implementations§
Trait Implementations§
Source§impl Inode for SimpleFsInode
impl Inode for SimpleFsInode
Source§fn metadata(&self) -> Result<InodeMetadata, FsError>
fn metadata(&self) -> Result<InodeMetadata, FsError>
获取文件元数据
Source§fn read_at(&self, offset: usize, buf: &mut [u8]) -> Result<usize, FsError>
fn read_at(&self, offset: usize, buf: &mut [u8]) -> Result<usize, FsError>
从指定偏移量读取数据 Read more
Source§fn rename(
&self,
_old_name: &str,
_new_parent: Arc<dyn Inode>,
_new_name: &str,
) -> Result<(), FsError>
fn rename( &self, _old_name: &str, _new_parent: Arc<dyn Inode>, _new_name: &str, ) -> Result<(), FsError>
重命名/移动 (原子操作)
Source§fn set_times(
&self,
_atime: Option<TimeSpec>,
_mtime: Option<TimeSpec>,
) -> Result<(), FsError>
fn set_times( &self, _atime: Option<TimeSpec>, _mtime: Option<TimeSpec>, ) -> Result<(), FsError>
设置文件时间戳
Source§fn mknod(
&self,
_name: &str,
_mode: FileMode,
_dev: u64,
) -> Result<Arc<dyn Inode>, FsError>
fn mknod( &self, _name: &str, _mode: FileMode, _dev: u64, ) -> Result<Arc<dyn Inode>, FsError>
创建设备文件节点
Source§fn set_dentry(&self, _dentry: Weak<Dentry>)
fn set_dentry(&self, _dentry: Weak<Dentry>)
设置 Dentry(可选方法)
Source§fn get_dentry(&self) -> Option<Arc<Dentry>>
fn get_dentry(&self) -> Option<Arc<Dentry>>
获取 Dentry(可选方法)