DFS: let mount fail on device open error
This commit is contained in:
parent
ca270a4667
commit
1289dff203
@ -285,7 +285,16 @@ int dfs_mount(const char *device_name,
|
|||||||
|
|
||||||
/* open device, but do not check the status of device */
|
/* open device, but do not check the status of device */
|
||||||
if (dev_id != RT_NULL)
|
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 */
|
/* call mount of this filesystem */
|
||||||
if ((*ops)->mount(fs, rwflag, data) < 0)
|
if ((*ops)->mount(fs, rwflag, data) < 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user