DragonOS/kernel
LoGin d3ae9c7c4a
fix(page_cache): 修复pagecache无法直接mmap然后读写文件的bug (#1158)
* fix(page_cache): 修复pagecache无法直接mmap然后读写文件的bug

经过此commit,用户程序可以直接mmap文件然后读写(无需通过read/write去读取)

Signed-off-by: longjin <longjin@DragonOS.org>

* fix(page_cache): 修复pagecache 文件映射的bug

- 修复对同一文件mmap两次时,第二次map之后写入文件,内核panic的问题
- 修复address space已经drop之后,页面回写时的panic的问题
- 为PageCache和InnerPageCache添加唯一ID支持
- 优化页面错误处理函数,添加inline(never)属性
- 修复页面映射范围计算错误
- 改进页面回收器的地址空间处理逻辑

Signed-off-by: longjin <longjin@DragonOS.org>

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2025-05-10 12:12:03 +08:00
..
.cargo fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。 (#870) 2024-07-27 17:34:05 +08:00
crates feat(la64): 实现了较为早期的la64的异常处理的注册 (#1138) 2025-05-07 13:14:54 +08:00
src fix(page_cache): 修复pagecache无法直接mmap然后读写文件的bug (#1158) 2025-05-10 12:12:03 +08:00
submodules
.clippy.toml
.gitignore chore: 将cargo.lock恢复提交到git (#1114) 2025-03-25 11:27:50 +08:00
Cargo.lock refactor(vfs): 重构statx系统调用的实现 (#1149) 2025-05-09 14:46:10 +08:00
Cargo.toml refactor(vfs): 重构statx系统调用的实现 (#1149) 2025-05-09 14:46:10 +08:00
Makefile feat: la64 boot (#1132) 2025-04-20 18:51:45 +08:00
build.rs
env.mk feat: la64 boot (#1132) 2025-04-20 18:51:45 +08:00
rust-toolchain.toml chore: update toolchain version to 2024-11-05 (#1031) 2024-11-11 21:29:15 +08:00