From e36b97ff946766bdca362d1bb2f1c64402f1d937 Mon Sep 17 00:00:00 2001 From: yangfasheng Date: Sun, 11 Jun 2023 18:07:06 +0800 Subject: [PATCH] [dfs v2] fix dentry hash lookup bug; update dentry dump msh cmd; (#7655) Signed-off-by: yangfasheng --- components/dfs/dfs_v2/src/dfs_dentry.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/dfs/dfs_v2/src/dfs_dentry.c b/components/dfs/dfs_v2/src/dfs_dentry.c index 5d62a6dc76..78c214cc67 100644 --- a/components/dfs/dfs_v2/src/dfs_dentry.c +++ b/components/dfs/dfs_v2/src/dfs_dentry.c @@ -151,14 +151,13 @@ static struct dfs_dentry *_dentry_hash_lookup(struct dfs_mnt *mnt, const char *p { rt_err_t ret = RT_EOK; struct dfs_dentry *entry = RT_NULL; - int path_len = strlen(path); ret = dfs_file_lock(); if (ret == RT_EOK) { rt_list_for_each_entry(entry, &hash_head.head[_dentry_hash(mnt, path)], hashlist) { - if (entry->mnt == mnt && !strncmp(entry->pathname, path, path_len)) + if (entry->mnt == mnt && !strcmp(entry->pathname, path)) { dfs_dentry_ref(entry); dfs_file_unlock(); @@ -358,7 +357,7 @@ int dfs_dentry_dump(int argc, char** argv) { rt_list_for_each_entry(entry, &hash_head.head[index], hashlist) { - printf("dentry:%s @ %p, ref_count = %zd\n", entry->pathname, entry, (size_t)rt_atomic_load(&entry->ref_count)); + printf("dentry: %s%s @ %p, ref_count = %zd\n", entry->mnt->fullpath, entry->pathname, entry, (size_t)rt_atomic_load(&entry->ref_count)); } } dfs_unlock();