#ifndef __ZVFS_PATH_ENTRY_H__ #define __ZVFS_PATH_ENTRY_H__ #include "common/uthash.h" #include #include struct zvfs_path_entry { char *path; // key struct zvfs_inode *inode; UT_hash_handle hh; }; // 插入缓存,path 内部 strdup,inode->ref_count 不在此处修改 // 需持有 path_mu int path_cache_insert(const char *path, struct zvfs_inode *inode); // 查找,未命中返回 NULL(需持有 path_mu) struct zvfs_path_entry *path_cache_lookup(const char *path); // 移除并释放 entry(不释放 inode,需持有 path_mu) void path_cache_remove(const char *path); // rename:原子替换 key(需持有 path_mu) int path_cache_rename(const char *old_path, const char *new_path); #endif // __ZVFS_PATH_ENTRY_H__