diff --git a/components/dfs/filesystems/devfs/devfs.c b/components/dfs/filesystems/devfs/devfs.c index 7a54df3509e735e45dfe3b3126309528a98c1251..f0b7327ecdd7730f5400199fc92b984f1e5a4ff2 100644 --- a/components/dfs/filesystems/devfs/devfs.c +++ b/components/dfs/filesystems/devfs/devfs.c @@ -29,6 +29,16 @@ int dfs_device_fs_mount(struct dfs_filesystem *fs, unsigned long rwflag, const v return RT_EOK; } +int dfs_device_fs_statfs(struct dfs_filesystem *fs, struct statfs *buf) +{ + buf->f_bsize = 512; + buf->f_blocks = 2048 * 64; // 64M + buf->f_bfree = buf->f_blocks; + buf->f_bavail = buf->f_bfree; + + return RT_EOK; +} + int dfs_device_fs_ioctl(struct dfs_fd *file, int cmd, void *args) { rt_err_t result; @@ -391,7 +401,7 @@ static const struct dfs_filesystem_ops _device_fs = dfs_device_fs_mount, RT_NULL, /*unmount*/ RT_NULL, /*mkfs*/ - RT_NULL, /*statfs*/ + dfs_device_fs_statfs, dfs_device_fs_unlink, dfs_device_fs_stat, RT_NULL, /*rename*/