Commit Graph

3495 Commits

Author SHA1 Message Date
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