53 char *fullpath = NULL;
54 struct Vnode *vnode = NULL;
56 struct IATTR attr = {0};
81 goto errout_with_path;
87 goto errout_with_path;
104 goto errout_with_path;
109 goto errout_with_path;
int vfs_normalize_path(const char *directory, const char *filename, char **pathname)
void free(void *ptr)
释放ptr所指向的内存空间
unsigned attr_chg_atime
节点最近访问时间
unsigned attr_chg_mtime
节点对应的文件内容被修改时间
unsigned int attr_chg_valid
节点改变有效性 (CHG_MODE | CHG_UID | ... )
vnode并不包含文件名,因为 vnode和文件名是 1:N 的关系
struct Mount * originMount
int(* Chattr)(struct Vnode *vnode, struct IATTR *attr)
改变节点属性(change attr)
int VnodeHold(void)
拿锁,封装互斥量
int VnodeLookup(const char *path, struct Vnode **vnode, uint32_t flags)
通过路径查询vnode节点