diff --git a/README.md b/README.md index 76dcca97..e7070278 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ TODO: Now we are still updating our project, you can find latest changes on branches `chX-dev` such as `ch1-dev`. We are intended to publish first release 3.5.0 after completing most of the tasks mentioned below. -Overall progress: ch5 +Overall progress: ch7 ### Completed @@ -35,10 +35,18 @@ Overall progress: ch5 * [x] use `UPSafeCell` instead of `RefCell` or `spin::Mutex` in order to access static data structures and adjust its API so that it cannot be borrowed twice at a time(mention `& .exclusive_access().task[0]` in `run_first_task`) * [x] move `TaskContext` into `TaskControlBlock` instead of restoring it in place on kernel stack(since ch3), eliminating annoying `task_cx_ptr2` * [x] replace `llvm_asm!` with `asm!` +* [x] expand the fs image size generated by `rcore-fs-fuse` to 128MiB +* [x] add a new test named `huge_write` which evaluates the fs performance(qemu\~500KiB/s k210\~50KiB/s) +* [x] flush all block cache to disk after a fs transaction which involves write operation ### Todo(High priority) * [ ] bug fix: we should call `find_pte` rather than `find_pte_create` in `PageTable::unmap` +* [ ] bug fix: check validity of level-3 pte in `find_pte` instead of checking it outside this function +* [ ] use old fs image optionally, do not always rebuild the image +* [ ] replace `spin::Mutex` with `UPSafeCell` before SMP chapter +* [ ] add new system calls: getdents64/fstat +* [ ] shell functionality improvement(to be continued...) * [ ] add a new chapter about synchronization & mutual exclusion(uniprocessor only) * [ ] give every non-zero process exit code an unique and clear error type * [ ] effective error handling of mm module