Commit Graph

40 Commits

Author SHA1 Message Date
Chaoqun Zheng 345f808b54 Fix `DeviceRangeReader` to make it take sparse blocks into account. 2026-01-11 23:12:06 +08:00
Ruihan Li 922b204280 Move `Pipe` from `InodeImpl` to `Inode` 2026-01-07 15:41:14 +08:00
Ruihan Li dccf23e283 Redesign inode extensions 2026-01-02 16:47:03 -08:00
Chaoqun Zheng ebfa7977b1 Adjust `blocks_count` field to `sector_count` in `InodeDesc` and `RawInode`.
In ext2, the granule of the `blocks_count` field in disk-inode is fixed at
512B. In the current implementation of Asterinas, the `blocks_count`
granule of memory-inode is BLOCK_SIZE.
2025-12-29 10:26:48 +08:00
vvsv 2dbcd1194b Refactor the pipe modules to fit semantics 2025-12-09 22:46:43 +08:00
Zhang Junyang fc9f47a019 Fix manual implementations of `.is_multiple_of()` 2025-12-09 09:23:58 +08:00
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
jiangjianfeng c4fdd390a9 Make ext2 handle fifo and devices correctly 2025-12-04 20:55:01 +08:00
Zhenchen Wang 6eef70a634 Add fsnotify infrastructure for filesystem events
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +08:00
Qingsong Chen d08d82cd0b Fix ext2 DeviceRangeReader to prevent reading invalid blocks 2025-11-28 11:22:56 +08:00
Qingsong Chen 0ed3f86709 Fix device id of ext2 inode 2025-11-24 18:55:01 +08:00
Chen Chengjun d66dbdd3bc Revise some error numbers and messages 2025-11-03 09:57:48 +08:00
Wang Siyuan 89e759894f Remove `Rights` from VMO 2025-10-29 12:22:22 +08:00
Ruihan Li 3b606f5b6c Use `size_of`/`align_of` in the prelude 2025-09-04 09:26:56 +08:00
Ruihan Li 2700d88bef Provide efficient `VmIo` with VM readers/writers 2025-08-10 16:40:11 +08:00
jiangjianfeng f0957d2f54 Fix clippy warnings in kernel crate 2025-06-06 18:22:09 +08:00
Qingsong Chen 189daa2e09 Fix the return value of `read_link` for ext2 2025-05-23 10:17:08 +08:00
stuuupidcat 95744692a5 Remove unnecessary #[inline] attributes 2025-05-22 12:19:21 +08:00
Shaowei Song 2af71ff72a Add xattr support for ext2 2025-03-28 15:08:59 +08:00
Ruihan Li 9e1c939a3f Remove `static_assertions` 2025-03-06 16:35:21 +08:00
Shaowei Song d19578ac78 Pooling some cached block writes in ext2 2025-03-06 11:43:07 +08:00
Shaowei Song 328ba47ccd Fix and revise the directory entry handling in ext2 2025-02-11 11:33:31 +08:00
Ruihan Li 0dca168717 Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
Shaowei Song 6a865062e6 Unify and optimize the comparison of special file names 2025-01-21 11:34:56 +08:00
Shaowei Song 4d5d0942ad Minor improvements to ext2 inode 2024-12-27 12:23:19 +08:00
Shaowei Song 0799976018 Improve directory entry handling efficiency in ext2 2024-12-27 12:23:19 +08:00
Zhang Junyang ff453f5933 Use `CachePage` in all related block functions 2024-12-27 12:12:51 +08:00
Zhang Junyang 983a6af3cc Polish the doc and rename variables in `ostd::mm` 2024-12-27 12:12:51 +08:00
Zhang Junyang cdac59beda Implement a new set of physical page APIs 2024-12-27 12:12:51 +08:00
Zhang Junyang c9a37ccab1 Renaming concepts around pages and frames
This commit renames `Frame` -> `UntypedFrame` and `Page` -> `Frame`.
So do other concepts in the following list:
 - `Segment` -> `UntypedSegment`,
 - `ContPages` -> `Segment`,
 - `DynPage` -> `AnyFrame`,
 - `PageMeta` -> `FrameMeta`,
 - `FrameMeta` -> `UntypedMeta`.

This commit also re-organized the source in the `mm/page` and `mm/frame`
module to accommodate the changes.
2024-12-27 12:12:51 +08:00
anbo225 e75b6320ad Add support for group-based permission checking in ext2 2024-12-26 17:07:55 +08:00
Shaowei Song 21da6d2b93 Optimize lock usage in ext2 inodes 2024-12-20 09:36:16 +08:00
Ruihan Li 53b873f647 Add `get_mut` methods for locks 2024-12-15 16:36:54 +08:00
Shaowei Song ecad132ec9 Refactor the block layer by introducing `BioSegmentPool` 2024-12-02 13:25:20 +08:00
Shaowei Song 29ebfa3934 Remove `BlocksHoleDesc` in ext2 for efficiency and fairness 2024-12-02 13:25:20 +08:00
Zhang Junyang 9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
Zhang Junyang 909639fd70 Separate `SegmentSlice` from `Segment` 2024-10-09 19:23:46 +08:00
Yuke Peng 228cfe2262 Preallocate some space when expanding size in ext2 2024-09-21 20:22:39 +08:00
Cautreoxit 86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
Zhang Junyang dafd16075f Remove the shim kernel crate 2024-08-23 23:37:50 +08:00