summaryrefslogtreecommitdiff
path: root/components/dfs
diff options
context:
space:
mode:
authoryangfasheng <[email protected]>2023-06-11 18:07:06 +0800
committerGitHub <[email protected]>2023-06-11 18:07:06 +0800
commite36b97ff946766bdca362d1bb2f1c64402f1d937 (patch)
treec6e0c959033680e8d61ebfc6d7ee7b03ecf62a8f /components/dfs
parentcd3f0f9c8a2df258fbd3cc6ba6dca17f44c91fd9 (diff)
[dfs v2] fix dentry hash lookup bug; update dentry dump msh cmd; (#7655)
Signed-off-by: yangfasheng <[email protected]>
Diffstat (limited to 'components/dfs')
-rw-r--r--components/dfs/dfs_v2/src/dfs_dentry.c5
1 files 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();