提交 063fb360 编写于 作者: G goprife@gmail.com

add f_opendir to open root directory in dfs_elm_mount to make sure that there is a valid fat

partition on physical media.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2251 bbd45198-f89e-11dd-88c7-29a3b14d5316
上级 3dbbc479
......@@ -103,7 +103,26 @@ int dfs_elm_mount(struct dfs_filesystem *fs, unsigned long rwflag, const void *d
/* mount fatfs, always 0 logic driver */
result = f_mount(index, fat);
if (result == FR_OK)
{
char drive[8];
DIR * dir;
rt_snprintf(drive, sizeof(drive), "%d:/", fat->drv);
dir = (DIR *)rt_malloc(sizeof(DIR));
if (dir == RT_NULL)
return -DFS_STATUS_ENOMEM;
/* open the root directory to test whether the fatfs is valid */
result = f_opendir(dir, drive);
if (result != FR_OK)
{
rt_free(dir);
return elm_result_to_dfs(result);
}
rt_free(dir);
fs->data = fat;
}
else
{
rt_free(fat);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册