瀏覽代碼

fix dfs_stat issue

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@882 bbd45198-f89e-11dd-88c7-29a3b14d5316
qiuyiuestc 14 年之前
父節點
當前提交
82d4e49881
共有 2 個文件被更改,包括 5 次插入3 次删除
  1. 0 2
      components/dfs/filesystems/nfs/dfs_nfs.c
  2. 5 1
      components/dfs/src/dfs_file.c

+ 0 - 2
components/dfs/filesystems/nfs/dfs_nfs.c

@@ -729,8 +729,6 @@ int nfs_stat(struct dfs_filesystem* fs, const char *path, struct _stat *st)
 	RT_ASSERT(fs->data != RT_NULL);
 	nfs = (struct nfs_filesystem *)fs->data;
 
-	rt_kprintf("get path:%s stat\n", path);
-
 	handle = get_handle(nfs, path);
 	if(handle == RT_NULL)
 		return -1;

+ 5 - 1
components/dfs/src/dfs_file.c

@@ -354,7 +354,11 @@ int dfs_file_stat(const char *path, struct _stat *buf)
 		return -DFS_STATUS_ENOSYS;
 	}
 
-	result = fs->ops->stat(fs, fullpath, buf);
+	if (dfs_subdir(fs->path, fullpath) == RT_NULL)
+		result = fs->ops->stat(fs, "/", buf);
+	else
+		result = fs->ops->stat(fs, dfs_subdir(fs->path, fullpath), buf);
+
 	rt_free(fullpath);
 
 	return result;