2 个版本

0.1.1 2024年7月18日
0.1.0 2024年7月18日

#439文件系统

Download history 175/week @ 2024-07-12 367/week @ 2024-07-19 469/week @ 2024-07-26 354/week @ 2024-08-02 239/week @ 2024-08-09 148/week @ 2024-08-16

1,246 每月下载次数
2 crate 中使用

GPL-3.0-or-later OR Apache-2…

22KB
404

axfs_crates

CI

用于构建文件系统的 crate


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