Commit Graph

46 Commits

Author SHA1 Message Date
vvsv 2dbcd1194b Refactor the pipe modules to fit semantics 2025-12-09 22:46:43 +08:00
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
jiangjianfeng 9ad7c1855e Check device id in DeviceId::from_encoded_64 2025-12-04 20:55:01 +08:00
jiangjianfeng 83c158e3b5 Make device Inode behave like pointer 2025-12-04 20:55:01 +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
Ruihan Li 24502ac3d4 Add `InodeIo` to simplify `FileIo` and `Inode` 2025-11-19 10:33:51 +08:00
Ruihan Li 08dfe533c4 Use `Box<FileIo>` instead of `Arc<FileIo>` 2025-11-19 10:33:51 +08:00
Wang Siyuan 147a622aa1 Add `SymbolicLink` to support symbol links under `/proc` 2025-11-13 09:55:53 +08:00
Ruihan Li 25beca462d Add regression tests 2025-11-12 18:19:08 +08:00
Wang Siyuan ff021e0b89 Make `memfd` a sub module of `ramfs` 2025-11-04 13:02:06 +08:00
Wang Siyuan 7aa6a47612 Add `MemfdInode` 2025-11-04 13:02:06 +08:00
Chen Chengjun d66dbdd3bc Revise some error numbers and messages 2025-11-03 09:57:48 +08:00
Chen Chengjun d42b006e1a Refactor named pipe to correct its opening and blocking behaviors 2025-11-03 09:57:48 +08:00
Chen Chengjun 5eddf21596 Introduce open API for Inode trait to replace as_* APIs 2025-11-03 09:57:48 +08:00
Chen Chengjun 498c2f3c91 Make FsFlags consistent with Linux's super block flags 2025-11-02 21:24:50 +08:00
Wang Siyuan 89e759894f Remove `Rights` from VMO 2025-10-29 12:22:22 +08:00
Chen Chengjun 7b68571290 Support generating the mount infomation 2025-10-24 11:12:16 +08:00
Wang Siyuan 6dec3a6712 Replace `InodeMode::from_bits_trunucated` with `mkmod` 2025-09-22 10:20:36 +08:00
Ruihan Li ef5318c000 Rename `*FS` to `*Fs` 2025-09-08 14:40:08 +08:00
Ruihan Li bb6069d5bb Clean up some FS APIs 2025-09-08 14:40:08 +08:00
Zhang Junyang eb69aa4fb9 Unify address and size APIs for memory objects 2025-09-02 17:53:55 +08:00
Ruihan Li b2f17d11c6 Remove common enum suffixes 2025-08-26 18:02:56 +08:00
Ruihan Li 2700d88bef Provide efficient `VmIo` with VM readers/writers 2025-08-10 16:40:11 +08:00
Ruihan Li aa7aca3dde Add `VmWriter::fill_zeros` 2025-08-10 16:40:11 +08:00
Wang Siyuan 48fa40bbf2 Support the system call `memfd_create` 2025-07-31 09:29:12 +08:00
Chen Chengjun 9783bbddda Implement FsType for exsiting file systems 2025-07-17 13:51:45 +08:00
Ruihan Li d73cbb5008 Clarify the `DeviceId` encoding 2025-07-03 14:30:14 +08:00
Shaowei Song 97c27e8d2a Add xattr support for ramfs 2025-03-28 15:08:59 +08:00
Ruihan Li b415538097 Remove useless `#[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
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
jiangjianfeng 495c93c2ad Refactor Rwlock to take type parameter 2024-11-21 15:46:10 +08:00
Ruihan Li f12e502ab0 Rename `Poller` to `PollHandle` 2024-11-13 14:15:44 +08:00
Shaowei Song dad56e1664 Refactor the lock usages within `RamInode` 2024-10-08 16:56:02 +08:00
Shaowei Song f2af6136da Minor optimizations on both `lat-syscall-stat` and `lat-syscall-open` 2024-09-26 15:25:49 +08:00
Yuke Peng 550eafcb79 Preallocate some space when expanding size in ramfs 2024-09-21 20:22:39 +08:00
Shaowei Song 22b04ceae4 Optimize the `DirEntry` of `RamInode` 2024-09-16 15:59:59 +08:00
Shaowei Song f194514100 Optimize the page cache within a `RamInode` 2024-09-16 15:59:59 +08:00
Shaowei Song 8bfbdf6642 Optimize the lock usage in `RamInode`'s read/write 2024-09-11 12:59:31 +08:00
Shaowei Song 9638744712 Unseekable files need not to manipulate the `offset` 2024-09-02 18:42:35 +08:00
Shaowei Song dcc9600cb4 Do not modify timestamps on device read/write 2024-09-02 17:09:16 +08:00
Zhang Junyang dafd16075f Remove the shim kernel crate 2024-08-23 23:37:50 +08:00