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