vnode并不包含文件名,因为 vnode和文件名是 1:N 的关系 更多...
#include <vnode.h>
成员变量 | |
enum VnodeType | type |
int | useCount |
uint32_t | hash |
uint | uid |
uint | gid |
mode_t | mode |
LIST_HEAD | parentPathCaches |
LIST_HEAD | childPathCaches |
struct Vnode * | parent |
struct VnodeOps * | vop |
struct file_operations_vfs * | fop |
void * | data |
uint32_t | flag |
LIST_ENTRY | hashEntry |
LIST_ENTRY | actFreeEntry |
struct Mount * | originMount |
struct Mount * | newMount |
char * | filePath |
struct page_mapping | mapping |
vnode并不包含文件名,因为 vnode和文件名是 1:N 的关系
linux下有多种权限控制的机制,常见的有:DAC(Discretionary Access Control)自主式权限控制和MAC(Mandatory Access Control)强制访问控制。 linux 下使用 inode 中文意思是索引节点(index node),从概念层面鸿蒙 Vnode是对标 inode 这里顺便说一下目录文件的"链接数"。创建目录时,默认会生成两个目录项:"."和".."。前者的inode号码就是当前目录的inode号码, 等同于当前目录的"硬链接";后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的"硬链接"。 所以,任何一个目录的"硬链接"总数,总是等于2加上它的子目录总数(含隐藏目录) 由于 vnode 是对所有设备的一个抽象,因此不同类型的设备,他们的操作方法也不一样, 因此 vop ,fop 都是接口, data 因设备不同而不同. 如果底层是磁盘存储,Inode结构会保存到磁盘。当需要时从磁盘读取到内存中进行缓存。
LIST_ENTRY Vnode::actFreeEntry |
LIST_ENTRY Vnode::hashEntry |
struct page_mapping Vnode::mapping |