DFS: let mount fail on device open error

This commit is contained in:
Grissiom 2013-12-21 12:09:28 +08:00
parent ca270a4667
commit 1289dff203
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)