Commit Graph

305 Commits

Author SHA1 Message Date
Ruihan Li 4e76ed5fea Migrate to new ioctl infrastructure 2025-12-07 12:01:05 +08:00
Ruihan Li 99fefb7adf Implement new ioctl infrastructure 2025-12-07 12:01:05 +08:00
Ruihan Li 04ef99cb82 Migrate existing code to use `VmIo` 2025-12-07 12:01:05 +08:00
wheatfox 34b12b2de5 Add `/proc/version` support
Signed-off-by: wheatfox <wheatfox17@icloud.com>
2025-12-05 19:29:54 +08:00
Chen Chengjun 314021c391 Correct the calculation of log_*_size 2025-12-05 15:26:32 +08:00
Chen Chengjun ad44264fc5 Correct the declaration of FsState 2025-12-05 15:26:32 +08:00
Chen Chengjun 3719caf5f1 Make the Superblock retain all the information from the RawSuperBlock 2025-12-05 15:26:32 +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 d8a4b3076f Support looking up block devices 2025-12-04 20:55:01 +08:00
jiangjianfeng e4a09f5503 Remove unused Misc device type 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
Chen Chengjun 34ebccb2e9 Fix a bug of bind mount 2025-12-03 14:04:45 +08:00
Chen Chengjun d58ae3a782 Implement controller framework for cgroup subsystem 2025-12-03 11:24:36 +08:00
Chen Chengjun dda8161bef Adjust the attributes-related APIs of SysNode 2025-12-03 11:24:36 +08:00
Zhenchen Wang eec3dd0f34 Add inotify regression tests and gVisor tests
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +08:00
Zhenchen Wang 156eeb1835 Add the fsnotify hook function to the VFS layer
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +08:00
Zhenchen Wang 09665a7692 Implement inotify file and syscalls
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2025-12-01 20:05:18 +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
Chen Chengjun 1a536d31b0 Fix a bug of caching negative dentry 2025-12-01 18:10:10 +08:00
Ruihan Li 34a9f84c5a Remove `Char{File,Device}` & `DevtmpfsName` 2025-12-01 00:05:29 +08:00
Chen Chengjun 2021160e97 Introduce IdBitmap to fix the syncing metadata bug of Ext2 2025-11-30 23:58:58 +08:00
jiangjianfeng 96bfab16be Fix some typos 2025-11-28 19:10:16 +08:00
Qingsong Chen f15106aed8 Fix ext2 directory entry iteration 2025-11-28 11:22:56 +08:00
Qingsong Chen d08d82cd0b Fix ext2 DeviceRangeReader to prevent reading invalid blocks 2025-11-28 11:22:56 +08:00
Chen Chengjun f8147469d4 Make the mount-related fields in statx effective 2025-11-24 19:01:19 +08:00
Zhe Tang c33c37b593 Add the basic framework of /dev/fb0
Co-authored-by: Wei Zhang <ruoyuan.zw@antgroup.com>
2025-11-24 18:56:29 +08:00
Qingsong Chen 0ed3f86709 Fix device id of ext2 inode 2025-11-24 18:55:01 +08:00
Wang Siyuan 449939a32b Move the executable `PathOrInode` to `ProcessVm` 2025-11-24 12:34:42 +08:00
Wang Siyuan 423053f2e6 Store the executable `PathOrInode` in `Process` to support `execveat` memfd files with `MFD_CLOEXEC` 2025-11-24 12:34:42 +08:00
Wang Siyuan 7bd8af411b Support `execveat` memfd files without `MFD_CLOEXEC` 2025-11-24 12:34:42 +08:00
Chen Chengjun 6df2af2e17 Fix some mount-related bugs 2025-11-20 18:22:26 +08:00
Qingsong Chen 9e2f5adf9b Add partition support for block device 2025-11-20 10:43:24 +08:00
Chen Chengjun 59cd3bd61d Support generating fdinfo for most of the existing FileLikes 2025-11-19 21:09:50 +08:00
Chen Chengjun 61a5bb7241 Add fdinfo files to proc filesystem 2025-11-19 21:09:50 +08:00
Ruihan Li 21365dd0bd Fix some behavior about `seek()` 2025-11-19 10:33:51 +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
jiangjianfeng 2f568d5e73 Read pty master should block if no pty slave is opened 2025-11-18 09:48:32 +08:00
Wang Siyuan 151d7ab1bf Refactor procfs with `VmPrinter` 2025-11-17 16:42:08 +08:00
Ruihan Li 0636e1048e Clarify how `Path` inherits methods 2025-11-17 11:25:55 +08:00
Wang Siyuan 35ab40057a Support stopping states in `proc/pid/stat` 2025-11-14 14:34:04 +08:00
Wang Siyuan 7a7e62b318 Support sleeping states in `proc/pid/stat` 2025-11-14 14:34:04 +08:00
Qingsong Chen bb48b3814f Move DeviceId to separate device-id crate 2025-11-13 11:04:30 +08:00
Wang Siyuan 9c6dbcee79 Minor cleanup 2025-11-13 09:55:53 +08:00
Wang Siyuan 456cafbc8e Add access mode checks for `MemfdFile` 2025-11-13 09:55:53 +08:00
Wang Siyuan 291c42c9fd Enable some gvisor tests of `memfd_test` 2025-11-13 09:55:53 +08:00
Wang Siyuan 805e2a7c89 Remove inode-specific methods from `FileLike` 2025-11-13 09:55:53 +08:00
Wang Siyuan 4d7958c18e Add `PathOrInode` to support looking up an inode without a `Path`
Also supports opening a memfd from `/proc/[pid]/fd/[fd]`
2025-11-13 09:55:53 +08:00
Wang Siyuan 147a622aa1 Add `SymbolicLink` to support symbol links under `/proc` 2025-11-13 09:55:53 +08:00