Chaoqun Zheng
39569a5ae8
Remove allocating blocks operation from `InodeImpl::expand`.
...
This is done to implement `fallocate`'s lazy file size expansion,
meaning that the expanded trailing blocks are only actually allocated
when they are written.
2026-02-01 16:41:27 +08:00
Chaoqun Zheng
9e99a12124
Support creating sparse blocks by `lseek`.
2026-02-01 16:41:24 +08:00
Chaoqun Zheng
a1eba4766f
Fix the updating strategy of `InodeDesc::occupied_sectors_count`.
2026-02-01 16:41:18 +08:00
Chaoqun Zheng
f14cf37b12
Support creating sparse blocks by `FallocMode::PunchHoleKeepSize`.
2026-02-01 16:35:56 +08:00
Chaoqun Zheng
74e0aa15bc
Add a new method: `InodeImpl::alloc_range_blocks`.
...
Compared to `InodeImpl::expand_blocks`, which is only applicable to
allocating blocks at the end of the file, `InodeImpl::alloc_range_blocks`
can allocate blocks within any range.
2026-02-01 16:34:13 +08:00
Chaoqun Zheng
e2ae201381
Implement a mechanism for Ext2 to allocate blocks when writing sparse blocks.
2026-02-01 16:12:26 +08:00
Chaoqun Zheng
3b47b40faf
Implement a mechanism for Ext2 to return zero when reading sparse blocks.
2026-02-01 16:12:19 +08:00
Chaoqun Zheng
1fb3c10b8a
Fix `DeviceRangeReader` to make it take sparse blocks into account.
2026-02-01 16:12:03 +08:00
Chaoqun Zheng
7f30f8226d
Fix some issues about Ext2's `blocks_count`.
...
- Rename `sector_count` to `occupied_sector_count`.
- Rename `blocks_count` to `size_in_blocks` and fix the related code.
- Fix the issue that `Metadata::blocks` return `blocks_count`, it
should be `occupied_sectors_count` instead.
2026-02-01 16:11:37 +08:00
Qingsong Chen
a4f77b12b6
Revise InodeDesc.acl from Option<Bid> to Bid
2026-01-28 18:43:02 -08:00
Qingsong Chen
28fe11e98d
Fix ext2 fast symlink inode detection logic
2026-01-28 18:43:02 -08:00
Xinyi Yu
01cf00a4c6
Trim whitespace from input string before parsing in `OomScoreAdhFileOps::write_at` method
2026-01-28 16:19:03 -08:00
Wang Siyuan
08d54ec6ad
Add entries other than `[stack]` in `/proc/[pid]/maps`
2026-01-27 23:01:17 -08:00
Wang Siyuan
fb8c9e0c27
Revert "`ProgramToLoad` only needs a `elf_inode: Arc<dyn Inode>` instead of a `Path`"
...
This reverts commit 71632a51b5 .
2026-01-27 23:01:17 -08:00
Marsman1996
ea142155fb
Fix permission validation in mprotect and mmap
2026-01-27 21:24:35 -08:00
li041
306cc714ae
Align `PidFile` semantics with POSIX standards
2026-01-28 11:20:50 +08:00
Ruihan Li
425cc2d1cf
Fix some style issues
2026-01-28 11:07:28 +08:00
Ruihan Li
b1071b6b92
Remove old gVsior workaround
2026-01-28 11:07:28 +08:00
Ruihan Li
3c959bf0a0
Support `/dev/ttyS0` and `console=ttyS0`
2026-01-27 17:44:41 -08:00
Xinyi Yu
459a634e4a
fmt
2026-01-26 15:22:23 -08:00
Xinyi Yu
b2ea514556
Impl BLKGETSIZE64 ioctl
2026-01-26 15:22:23 -08:00
Chaoqun Zheng
e4ebd821de
Fix error setting bid in `InodeImpl::free_indirect_blocks_required_by`
2026-01-26 15:17:07 -08:00
Wang Siyuan
b7ae738310
Cleanup: Only maintain children for directory dentries
2026-01-22 11:39:09 +08:00
Marsman1996
5792b49722
Fix error handling in OverlayFsType by propagating lookup errors
2026-01-21 00:30:23 -08:00
Ruihan Li
6a61aa39b0
Handle the listener in `State::set_pass_cred`
2026-01-21 10:11:19 +08:00
Marsman1996
43f570730c
Fix new_fd validation to use resource limits in `do_dup3`
2026-01-20 16:02:40 +08:00
Ruihan Li
6520682360
Inherit `SO_PEERCRED` for accepted sockets
2026-01-20 14:51:23 +08:00
Ruihan Li
98529bdbf0
Support `SO_PEERCRED` for UNIX datagrams
2026-01-20 14:51:23 +08:00
Ruihan Li
f62ae40188
Allow empty UNIX control messages
2026-01-19 16:18:26 +08:00
Ruihan Li
bdc1c79770
Fix overflow behavior and control flags
2026-01-18 18:39:32 -08:00
Ruihan Li
e082d4eaa6
Respect `InotifyControls::ONESHOT`
2026-01-18 18:39:32 -08:00
Ruihan Li
b5518ccd64
Remove unnecessary atomic loads
2026-01-18 18:39:32 -08:00
Ruihan Li
43b8838d6a
Reject new watches on deleted inodes
2026-01-18 18:39:32 -08:00
li041
d23d25c552
Add `pidfd_getfd` syscall
2026-01-18 14:58:18 -08:00
li041
f58fb66cba
Refactor `PidFile` to use `Weak<Process>`
2026-01-18 14:58:18 -08:00
Marsman1996
2219e83f8e
Fix invalid mapping in mremap fast path
2026-01-16 17:22:18 +08:00
Chen Chengjun
38d455496b
Modify all usages of the removed Path APIs
2026-01-15 19:04:51 -08:00
Chen Chengjun
1e5f2e186c
Consolidate all path resolution related interfaces under PathResolver
2026-01-15 19:04:51 -08:00
Chen Chengjun
5d5f0bdcde
Rename FsResolver to PathResolver and update all usages
2026-01-15 19:04:51 -08:00
Chen Chengjun
505114c17b
Move fs_resolver.rs to path module as resolver.rs
2026-01-15 19:04:51 -08:00
Ruihan Li
c1aa8a805c
Fix checks for `VmarMapOptions::offset`
2026-01-14 10:27:33 +08:00
Ruihan Li
fdcf5fd0fe
Remove the `AT_NULL` variant
2026-01-14 10:27:33 +08:00
Ruihan Li
48ccafd7f9
Clean up the `init_stack` module
2026-01-14 10:27:33 +08:00
Chen Chengjun
bae5de9e8f
Move test/* to test/initramfs/*
2026-01-13 11:53:34 -08:00
wyt8
4fa2b55e47
Place the heap after bss segment
2026-01-13 22:01:15 +08:00
wyt8
dac3e94bea
Consider the PIE condition when loading the ELF
2026-01-13 22:01:15 +08:00
Marsman1996
d9f4229e6c
Fix panic in `add_posix_timer`
2026-01-13 11:06:09 +08:00
Marsman1996
8335ba22d9
Fix stack overflow handling in InitStackWriter by validating positions before writing
2026-01-12 15:57:31 +08:00
Wang Siyuan
1e77c0a938
Cleanup: Use `AtomicStatusFlags::new(flags)` instead of `AtomicU32::new(flags.bits())`
2026-01-11 17:00:23 -08:00
Wang Siyuan
138401b0ab
Remove `PathOrInode`
2026-01-11 17:00:23 -08:00