Lines Matching refs:mnt

37 static uint32_t _dentry_hash(struct dfs_mnt *mnt, const char *path)  in _dentry_hash()  argument
48 return (val ^ (unsigned long) mnt) & (DFS_DENTRY_HASH_NR - 1); in _dentry_hash()
62 static struct dfs_dentry *_dentry_create(struct dfs_mnt *mnt, char *path, rt_bool_t is_rela_path) in _dentry_create() argument
66 if (mnt == RT_NULL || path == RT_NULL) in _dentry_create()
77 int mntpoint_len = strlen(mnt->fullpath); in _dentry_create()
79 if (rt_strncmp(mnt->fullpath, dentry_path, mntpoint_len) == 0) in _dentry_create()
86 dentry->mnt = dfs_mnt_ref(mnt); in _dentry_create()
91 LOG_I("create a dentry:%p for %s", dentry, mnt->fullpath); in _dentry_create()
108 struct dfs_dentry *dfs_dentry_create(struct dfs_mnt *mnt, char *fullpath) in dfs_dentry_create() argument
110 return _dentry_create(mnt, fullpath, RT_FALSE); in dfs_dentry_create()
124 struct dfs_dentry *dfs_dentry_create_rela(struct dfs_mnt *mnt, char *rela_path) in dfs_dentry_create_rela() argument
126 return _dentry_create(mnt, rela_path, RT_TRUE);; in dfs_dentry_create_rela()
194 if (dentry->mnt) in dfs_dentry_unref()
196 dfs_mnt_unref(dentry->mnt); in dfs_dentry_unref()
229 static struct dfs_dentry *_dentry_hash_lookup(struct dfs_mnt *mnt, const char *path) in _dentry_hash_lookup() argument
237 rt_list_for_each_entry(entry, &hash_head.head[_dentry_hash(mnt, path)], hashlist) in _dentry_hash_lookup()
239 if (entry->mnt == mnt && !strcmp(entry->pathname, path)) in _dentry_hash_lookup()
261 …rt_list_insert_after(&hash_head.head[_dentry_hash(dentry->mnt, dentry->pathname)], &dentry->hashli… in dfs_dentry_insert()
281 struct dfs_dentry *dfs_dentry_lookup(struct dfs_mnt *mnt, const char *path, uint32_t flags) in dfs_dentry_lookup() argument
285 int mntpoint_len = strlen(mnt->fullpath); in dfs_dentry_lookup()
287 if (rt_strncmp(mnt->fullpath, path, mntpoint_len) == 0) in dfs_dentry_lookup()
297 dentry = _dentry_hash_lookup(mnt, path); in dfs_dentry_lookup()
300 if (mnt->fs_ops->lookup) in dfs_dentry_lookup()
304 …DLOG(msg, "dentry", "dentry", DLOG_MSG, "dfs_dentry_create_rela(mnt=%s, path=%s)", mnt->fullpath, … in dfs_dentry_lookup()
305 dentry = dfs_dentry_create_rela(mnt, (char*)path); in dfs_dentry_lookup()
308 DLOG(msg, "dentry", mnt->fs_ops->name, DLOG_MSG, "vnode=fs_ops->lookup(dentry)"); in dfs_dentry_lookup()
310 if (dfs_is_mounted(mnt) == 0) in dfs_dentry_lookup()
312 vnode = mnt->fs_ops->lookup(dentry); in dfs_dentry_lookup()
317 DLOG(msg, mnt->fs_ops->name, "dentry", DLOG_MSG_RET, "return vnode"); in dfs_dentry_lookup()
320 … rt_list_insert_after(&hash_head.head[_dentry_hash(mnt, path)], &dentry->hashlist); in dfs_dentry_lookup()
337 DLOG(msg, mnt->fs_ops->name, "dentry", DLOG_MSG_RET, "no dentry"); in dfs_dentry_lookup()
369 if (dentry && dentry->mnt) in dfs_dentry_full_path()
371 int mnt_len = strlen(dentry->mnt->fullpath); in dfs_dentry_full_path()
377 if (dentry->pathname[0] == '/' || dentry->mnt->fullpath[mnt_len - 1] == '/') in dfs_dentry_full_path()
379 rt_snprintf(path, mnt_len + path_len + 2, "%s%s", dentry->mnt->fullpath, in dfs_dentry_full_path()
384 rt_snprintf(path, mnt_len + path_len + 2, "%s/%s", dentry->mnt->fullpath, in dfs_dentry_full_path()
413 int path_length = strlen(dentry->mnt->fullpath) + length + 3; in dfs_dentry_pathname()
420 rt_snprintf(pathname, path_length - 1, "%s%.*s", dentry->mnt->fullpath, in dfs_dentry_pathname()
425 rt_snprintf(pathname, path_length - 1, "%s/%.*s", dentry->mnt->fullpath, in dfs_dentry_pathname()
432 pathname = rt_strdup(dentry->mnt->fullpath); in dfs_dentry_pathname()
508 …printf("dentry: %s%s @ %p, ref_count = %zd\n", entry->mnt->fullpath, entry->pathname, entry, (size… in dfs_dentry_dump()