From 227c514092a2e52395d2b6deacddb4863b6eb89e Mon Sep 17 00:00:00 2001 From: Ben Pig Chu Date: Tue, 30 Oct 2018 23:10:26 +0800 Subject: [PATCH] fs report --- docs/OSTrain2018docs-g4/expr3/report.md | 27 ++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/OSTrain2018docs-g4/expr3/report.md b/docs/OSTrain2018docs-g4/expr3/report.md index a1be1363..d7de88e1 100644 --- a/docs/OSTrain2018docs-g4/expr3/report.md +++ b/docs/OSTrain2018docs-g4/expr3/report.md @@ -6,4 +6,29 @@ ## 3 同步互斥 @陈秋昊 ## 4 文件系统 -@朱书聪 \ No newline at end of file + +由于文件系统的主体不在主仓库而是在 [wangrunji0408/SimpleFileSystem-Rust](https://github.com/wangrunji0408/SimpleFileSystem-Rust) 中,对文件系统的修改在 [benpigchu/SimpleFileSystem-Rust](https://github.com/benpigchu/SimpleFileSystem-Rust) 进行(`ucore-fs-enhance` 分支)。要在主仓库中预览目前进行的修改,可以在 `kernel/Cargo.toml` 中加入以下内容: +```toml +[patch."https://github.com/wangrunji0408/SimpleFileSystem-Rust"] +simple-filesystem = { git = "https://github.com/benpigchu/SimpleFileSystem-Rust", branch="ucore-fs-enhance" } +``` + +以下是目前的进度与在真正进入教学 Lab 划分与制作前的计划 + +- [x] 修复原有实现的错误 + - [x] 正确维护和解释磁盘上的 `inode` 结构的 `size` 项 + - [x] 正确维护磁盘上的 `inode` 结构的 `nlinks` 项 +- [-] 补充实现之前未实现的功能 + - [x] `unlink` + - [x] `link` + - [ ] `mount` + - [ ] 符号链接相关内容 +- [-] 调整接口的定义 + - [x] 用 `get_entry` 取代 `list` + - [x] 用单层查找的 `find` 取代多层查找的 `lookup` + - [ ] 返回错误类型而非直接 `panic!` + - [ ] 将 `vfs` `device` 等与具体文件系统无关的内容从 `SimpleFileSystem-Rust` 仓库移动到主仓库的新包中(`crate/vfs`) +- [ ] 让用户程序能够操作文件系统 + - [ ] 使文件系统线程安全 + - [ ] 实现文件描述符 + - [ ] 实现相关系统调用 \ No newline at end of file