diff --git a/components/dfs/filesystems/ramfs/dfs_ramfs.c b/components/dfs/filesystems/ramfs/dfs_ramfs.c index 4399e90b8591b2fb92750f420d7cbdfd62dd2a60..c4b0f44d6dba651f25425f526703a08cc9c82848 100644 --- a/components/dfs/filesystems/ramfs/dfs_ramfs.c +++ b/components/dfs/filesystems/ramfs/dfs_ramfs.c @@ -42,7 +42,7 @@ int dfs_ramfs_mount(struct dfs_filesystem *fs, ramfs = (struct dfs_ramfs *)data; fs->data = ramfs; - + return RT_EOK; } @@ -189,8 +189,11 @@ int dfs_ramfs_open(struct dfs_fd *file) rt_size_t size; struct dfs_ramfs *ramfs; struct ramfs_dirent *dirent; + struct dfs_filesystem *fs; + + fs = (struct dfs_filesystem *)file->data; - ramfs = (struct dfs_ramfs *)file->data; + ramfs = (struct dfs_ramfs *)fs->data; RT_ASSERT(ramfs != NULL); if (file->flags & O_DIRECTORY) @@ -456,6 +459,7 @@ struct dfs_ramfs* dfs_ramfs_create(rt_uint8_t *pool, rt_size_t size) rt_list_init(&(ramfs->root.list)); ramfs->root.size = 0; strcpy(ramfs->root.name, "."); + ramfs->root.fs = ramfs; return ramfs; }