Home
last modified time | relevance | path

Searched refs:IndexNode (Results 1 – 25 of 32) sorted by relevance

12

/DragonOS/docs/kernel/filesystem/vfs/
H A Ddesign.md49 - IndexNode: 表明某个struct是一个索引节点
51 …sp;一般情况下,FileSystem和IndexNode是一对一的关系,也就是,一个文件系统对应一种IndexNode。但是,对于某些特殊的文件系统,比如DevFS,根据不同的设备类型,会有不同…
55   挂载文件系统虽然实现了FileSystem和IndexNode这两个trait,但它并不是一个“文件系统”,而是一种机制,用于将不同的文件系统挂载到同一个文件系统树上.
H A Dindex.rst13 - 提供IndexNode抽象
/DragonOS/kernel/src/filesystem/vfs/
H A Dmod.rs127 pub trait IndexNode: Any + Sync + Send + Debug + CastFromSync { trait
235 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create() argument
255 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create_with_data() argument
267 fn link(&self, _name: &str, _other: &Arc<dyn IndexNode>) -> Result<(), SystemError> { in link()
300 _target: &Arc<dyn IndexNode>, in move_to() argument
313 fn find(&self, _name: &str) -> Result<Arc<dyn IndexNode>, SystemError> { in find() argument
426 fn mount_from(&self, _des: Arc<dyn IndexNode>) -> Result<Arc<MountFS>, SystemError> { in mount_from()
497 ) -> Result<Arc<dyn IndexNode>, SystemError> { in mknod() argument
516 fn mkdir(&self, name: &str, mode: ModeType) -> Result<Arc<dyn IndexNode>, SystemError> { in mkdir() argument
562 fn parent(&self) -> Result<Arc<dyn IndexNode>, SystemError> { in parent() argument
[all …]
H A Dmount.rs29 FilePrivateData, FileSystem, FileType, IndexNode, InodeId, Magic, SuperBlock,
50 #[cast_to([sync] IndexNode)]
53 inner_inode: Arc<dyn IndexNode>,
227 impl IndexNode for MountFSInode {
246 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create_with_data() argument
312 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create() argument
321 fn link(&self, name: &str, other: &Arc<dyn IndexNode>) -> Result<(), SystemError> { in link()
356 target: &Arc<dyn IndexNode>, in move_to() argument
362 fn find(&self, name: &str) -> Result<Arc<dyn IndexNode>, SystemError> { in find() argument
368 .map(|inode| inode as Arc<dyn IndexNode>) in find()
[all …]
H A Dcore.rs26 IndexNode, InodeId, VFS_MAX_FOLLOW_SYMLINK_TIMES,
42 static mut __ROOT_INODE: Option<Arc<dyn IndexNode>> = None;
47 pub fn ROOT_INODE() -> Arc<dyn IndexNode> { in ROOT_INODE()
162 ) -> Result<Arc<dyn IndexNode>, SystemError> { in do_mkdir_at() argument
188 let parent_inode: Arc<dyn IndexNode> = inode_begin in do_remove_dir()
213 let inode: Result<Arc<dyn IndexNode>, SystemError> = in do_unlink_at()
230 let parent_inode: Arc<dyn IndexNode> = inode_begin in do_unlink_at()
H A Dopen.rs10 FileType, IndexNode, MAX_PATHLEN, ROOT_INODE, VFS_MAX_FOLLOW_SYMLINK_TIMES,
88 let inode: Result<Arc<dyn IndexNode>, SystemError> = inode_begin.lookup_follow_symlink( in do_sys_openat2()
97 let inode: Arc<dyn IndexNode> = match inode { in do_sys_openat2()
107 let parent_inode: Arc<dyn IndexNode> = in do_sys_openat2()
110 let inode: Arc<dyn IndexNode> = parent_inode.create( in do_sys_openat2()
H A Dfile.rs12 use super::{Dirent, FileType, IndexNode, InodeId, Metadata, SpecialNodeData};
128 inode: Option<Weak<dyn IndexNode>>,
148 pub fn new(inode: Option<Weak<dyn IndexNode>>) -> Arc<PageCache> { in new()
156 pub fn inode(&self) -> Option<Weak<dyn IndexNode>> { in inode() argument
179 pub fn set_inode(&mut self, inode: Weak<dyn IndexNode>) { in set_inode() argument
187 inode: Arc<dyn IndexNode>,
206 pub fn new(inode: Arc<dyn IndexNode>, mode: FileMode) -> Result<Self, SystemError> { in new() argument
429 let inode: &Arc<dyn IndexNode> = &self.inode; in readdir()
446 let sub_inode: Arc<dyn IndexNode> = match inode.find(name) { in readdir()
482 pub fn inode(&self) -> Arc<dyn IndexNode> { in inode() argument
H A Dutils.rs10 use super::{fcntl::AtFlags, FileType, IndexNode, ROOT_INODE};
44 ) -> Result<(Arc<dyn IndexNode>, String), SystemError> { in user_path_at() argument
/DragonOS/kernel/src/filesystem/devpts/
H A Dmod.rs32 core::generate_inode_id, FilePrivateData, FileSystem, FsInfo, IndexNode, Metadata,
68 fn root_inode(&self) -> Arc<dyn IndexNode> { in root_inode() argument
145 impl IndexNode for LockedDevPtsFSInode {
222 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create_with_data() argument
258 fn find(&self, name: &str) -> Result<Arc<dyn IndexNode>, SystemError> { in find() argument
262 Ok(dev.clone() as Arc<dyn IndexNode>) in find()
/DragonOS/kernel/src/filesystem/devfs/
H A Dmod.rs10 FilePrivateData, FileSystem, FileType, FsInfo, IndexNode, Magic, Metadata, SuperBlock,
44 fn root_inode(&self) -> Arc<dyn super::vfs::IndexNode> { in root_inode() argument
249 children: BTreeMap<DName, Arc<dyn IndexNode>>,
319 pub fn add_dev(&self, name: &str, dev: Arc<dyn IndexNode>) -> Result<(), SystemError> { in add_dev()
349 ) -> Result<Arc<dyn IndexNode>, SystemError> { in do_create_with_data() argument
393 impl IndexNode for LockedDevFSInode {
416 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create_with_data() argument
423 fn find(&self, name: &str) -> Result<Arc<dyn IndexNode>, SystemError> { in find() argument
559 fn parent(&self) -> Result<Arc<dyn IndexNode>, SystemError> { in parent() argument
573 pub trait DeviceINode: IndexNode {
[all …]
H A Dnull_dev.rs5 core::generate_inode_id, FilePrivateData, FileSystem, FileType, IndexNode, Metadata,
70 impl IndexNode for LockedNullInode {
H A Dzero_dev.rs5 core::generate_inode_id, FilePrivateData, FileSystem, FileType, IndexNode, Metadata,
70 impl IndexNode for LockedZeroInode {
/DragonOS/docs/kernel/filesystem/
H A Dsysfs.md39 sys_info: Option<Arc<dyn IndexNode>>, // sys information
57 sys_info: Option<Arc<dyn IndexNode>>, // sys information
77 sys_info: Option<Arc<dyn IndexNode>>, // 总线inode
H A Doverview.md80 - 提供IndexNode抽象
/DragonOS/kernel/src/filesystem/ramfs/
H A Dmod.rs26 IndexNode, InodeId, Metadata, SpecialNodeData,
74 fn root_inode(&self) -> Arc<dyn super::vfs::IndexNode> { in root_inode() argument
161 impl IndexNode for LockedRamFSInode {
296 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create_with_data() argument
345 fn link(&self, name: &str, other: &Arc<dyn IndexNode>) -> Result<(), SystemError> { in link()
423 target: &Arc<dyn IndexNode>, in move_to() argument
455 target.link(new_name.as_ref(), &(inode_to_move as Arc<dyn IndexNode>))?; in move_to()
467 fn find(&self, name: &str) -> Result<Arc<dyn IndexNode>, SystemError> { in find() argument
558 ) -> Result<Arc<dyn IndexNode>, SystemError> { in mknod() argument
626 fn parent(&self) -> Result<Arc<dyn IndexNode>, SystemError> { in parent() argument
[all …]
/DragonOS/kernel/src/filesystem/procfs/
H A Dmod.rs35 FileSystem, FsInfo, IndexNode, InodeId, Magic, Metadata, SuperBlock,
293 fn root_inode(&self) -> Arc<dyn super::vfs::IndexNode> { in root_inode() argument
405 let inode: Arc<dyn IndexNode> = self.root_inode(); in register_pid()
407 let pid_dir: Arc<dyn IndexNode> = inode.create( in register_pid()
414 let binding: Arc<dyn IndexNode> = pid_dir.create( in register_pid()
435 let proc: Arc<dyn IndexNode> = self.root_inode(); in unregister_pid()
437 let pid_dir: Arc<dyn IndexNode> = proc.find(&pid.to_string())?; in unregister_pid()
451 impl IndexNode for LockedProcFSInode {
598 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create_with_data() argument
651 fn link(&self, name: &str, other: &Arc<dyn IndexNode>) -> Result<(), SystemError> { in link()
[all …]
/DragonOS/kernel/src/filesystem/kernfs/
H A Dmod.rs26 FileType, FsInfo, IndexNode, InodeId, Magic, Metadata, SuperBlock,
48 fn root_inode(&self) -> Arc<dyn IndexNode> { in root_inode() argument
153 impl IndexNode for KernFSInode {
195 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create_with_data() argument
200 fn link(&self, _name: &str, _other: &Arc<dyn IndexNode>) -> Result<(), SystemError> { in link()
218 _target: &Arc<dyn IndexNode>, in move_to() argument
225 fn find(&self, name: &str) -> Result<Arc<dyn IndexNode>, SystemError> { in find() argument
/DragonOS/kernel/src/driver/disk/ahci/
H A Dahci_inode.rs7 core::generate_inode_id, FilePrivateData, FileSystem, FileType, IndexNode, Metadata,
75 impl IndexNode for LockedAhciInode {
/DragonOS/kernel/src/virt/kvm/
H A Dkvm_dev.rs7 FilePrivateData, FileSystem, FileType, IndexNode, Metadata,
88 impl IndexNode for LockedKvmInode {
H A Dvcpu_dev.rs7 core::generate_inode_id, file::FileMode, FilePrivateData, FileSystem, FileType, IndexNode,
96 impl IndexNode for LockedVcpuInode {
H A Dvm_dev.rs7 FilePrivateData, FileSystem, FileType, IndexNode, Metadata,
94 impl IndexNode for LockedVmInode {
/DragonOS/kernel/src/driver/keyboard/
H A Dps2_keyboard.rs26 FileSystem, FileType, IndexNode, Metadata,
116 impl IndexNode for LockedPS2KeyBoardInode {
/DragonOS/kernel/src/filesystem/
H A Deventfd.rs3 use crate::filesystem::vfs::{FilePrivateData, FileSystem, FileType, IndexNode, Metadata};
80 impl IndexNode for EventFdInode {
/DragonOS/kernel/src/filesystem/fat/
H A Dfs.rs29 FileSystem, FileType, IndexNode, InodeId, Metadata,
229 let page_cache = PageCache::new(Some(Arc::downgrade(&inode) as Weak<dyn IndexNode>)); in new()
262 fn root_inode(&self) -> Arc<dyn crate::filesystem::vfs::IndexNode> { in root_inode() argument
1384 impl IndexNode for LockedFATInode {
1444 ) -> Result<Arc<dyn IndexNode>, SystemError> { in create() argument
1590 fn find(&self, name: &str) -> Result<Arc<dyn IndexNode>, SystemError> { in find() argument
1685 target: &Arc<dyn IndexNode>, in move_to() argument
1797 ) -> Result<Arc<dyn IndexNode>, SystemError> { in mknod() argument
1845 fn parent(&self) -> Result<Arc<dyn IndexNode>, SystemError> { in parent() argument
1850 .map(|item| item as Arc<dyn IndexNode>) in parent()
/DragonOS/kernel/src/filesystem/sysfs/
H A Dgroup.rs12 vfs::{syscall::ModeType, IndexNode},

12