Chaoqun Zheng
3cb457b620
Add size check in `InodeDesc::is_fast_symlink`
2026-02-01 23:30:57 +08:00
Chaoqun Zheng
57c7546db0
Add test program for sparse file of Ext2.
2026-02-01 16:41:34 +08:00
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
Ruihan Li
6d2ff13a63
Redirect serial output if `hvc0` is on
2026-01-28 19:43:55 -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
Ruihan Li
a599a2c563
Disable BAR decoding when sizing PCI BARs
2026-01-27 23:05:02 -08:00
Ruihan Li
eefdaf4de9
Fix minor problems in PCI
2026-01-27 23:05:02 -08:00
Ruihan Li
b11fcdcf0b
Remove unused code in PCI
2026-01-27 23:05:02 -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
66ac28c4c2
Add test for permission validation of mprotect and mmap
2026-01-27 21:24:35 -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
22dd288b07
Support `make run_kernel CONSOLE=ttyS0`
2026-01-27 17:44:41 -08:00
Ruihan Li
3c959bf0a0
Support `/dev/ttyS0` and `console=ttyS0`
2026-01-27 17:44:41 -08:00
Ruihan Li
000ad53c9f
Support UART console
2026-01-27 17:44:41 -08:00
Ruihan Li
81c2f8d4bd
Move NS16650A UART driver outside `arch`
2026-01-27 17:44:41 -08:00
root
dee39e21d1
x86/tdx: integrate fatal error reporting and improve initialization
2026-01-27 16:32:36 -08:00
Ruihan Li
a82d185154
Use PCI ECAM in x86 if possible
2026-01-27 16:24:07 -08:00
Ruihan Li
a09de99c1d
Ensure PCI access atomicity
2026-01-27 16:24:07 -08:00
Ruihan Li
f055a387a7
Get the PCI bus number range
2026-01-27 16:24:07 -08:00
Ruihan Li
5499436807
Add regression tests for recent issues
2026-01-27 10:02:21 +08:00
Ruihan Li
a3314c6432
Ignore high bits in PCI BAR sizes
2026-01-26 17:19:10 -08:00
Xinyi Yu
459a634e4a
fmt
2026-01-26 15:22:23 -08:00
Xinyi Yu
76586dd6fb
Update the book
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
Tate, Hongliang Tian
e44d7e2b12
Update the intro section of README
2026-01-25 20:52:55 -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
db6292a310
Triage some gvisor tests
2026-01-20 14:49:34 +08:00
Zhang Junyang
77f0b0e746
Add missing safety comments in `boot_pt`
2026-01-19 23:41:42 +08:00
Zhang Junyang
c77c2686d8
Revise `PageTableEntryTrait`
2026-01-19 23:41:42 +08:00
Ruihan Li
f62ae40188
Allow empty UNIX control messages
2026-01-19 16:18:26 +08:00