Merge pull request #217 from grissiom/fix-dfs

DFS: let mount fail on device open error
This commit is contained in:
prife 2013-12-20 20:16:58 -08:00
commit eac3b8d96c
1 changed files with 10 additions and 1 deletions

View File

@ -285,7 +285,16 @@ int dfs_mount(const char *device_name,
/* open device, but do not check the status of device */
if (dev_id != RT_NULL)
rt_device_open(fs->dev_id, RT_DEVICE_OFLAG_RDWR);
{
if (rt_device_open(fs->dev_id,
RT_DEVICE_OFLAG_RDWR) != RT_EOK)
{
/* The underlaying device has error, clear the entry. */
dfs_lock();
rt_memset(fs, 0, sizeof(struct dfs_filesystem));
goto err1;
}
}
/* call mount of this filesystem */
if ((*ops)->mount(fs, rwflag, data) < 0)