2 个版本
| 0.1.1 | 2024年7月18日 |
|---|---|
| 0.1.0 | 2024年7月18日 |
#439 在 文件系统
1,246 每月下载次数
在 2 crate 中使用
22KB
404 行
axfs_crates
用于构建文件系统的 crate
- axfs_vfs: 虚拟文件系统接口。
- axfs_devfs: 设备文件系统。
- axfs_ramfs: RAM 文件系统。
lib.rs:
ArceOS 使用的虚拟文件系统接口。
文件系统是一组文件和目录(目前不支持符号链接),统称为 节点,与 Linux 中的 inode 概念相似。文件系统需要实现 VfsOps 特性,其文件和目录需要实现 VfsNodeOps 特性。
VfsOps 特性为文件系统提供了以下操作
mount(): 在文件系统挂载时执行某些操作。umount(): 在文件系统卸载时执行某些操作。format(): 格式化文件系统。statfs(): 获取文件系统的属性。root_dir():获取文件系统的根目录。
VfsNodeOps 特性在文件或目录上提供了以下操作
| 操作 | 描述 | 文件/目录 |
|---|---|---|
open() |
节点打开时执行某些操作 | 两者 |
release() |
节点关闭时执行某些操作 | 两者 |
get_attr() |
获取节点的属性 | 两者 |
read_at() |
从文件中读取数据 | 文件 |
write_at() |
向文件写入数据 | 文件 |
fsync() |
将文件数据同步到磁盘 | 文件 |
truncate() |
截断文件 | 文件 |
parent() |
获取父目录 | 目录 |
lookup() |
查找给定路径的节点 | 目录 |
create() |
使用给定路径创建新节点 | 目录 |
remove() |
移除给定路径的节点 | 目录 |
read_dir() |
读取目录条目 | 目录 |
依赖项
~205KB