Skip to content

Fix/issue300 - #322

Merged
hexagonal-sun merged 15 commits into
hexagonal-sun:masterfrom
flowerishere:fix/issue300
Oct 10, 2026
Merged

hexagonal-sun merged 15 commits into
hexagonal-sun:masterfrom
flowerishere:fix/issue300

Conversation

@flowerishere

Copy link
Copy Markdown
Contributor
  • Fix ext4 inode consistency, metadata serialization, truncate behavior,
    inline symlink deletion, and permission persistence.
  • Implement pidfs filesystem identity and correct the statfs ABI and
    procfs file-descriptor handling.
  • Preserve AArch64 FP/SIMD state across exceptions and signals, and
    correct disabled alternate signal stack handling.
  • Fix futex timeout clock selection and defer voluntary scheduling
    until syscall work completes.
  • Correct getcwd return values and return ENOSYS for unimplemented
    clone3 so libc can fall back to clone.
  • Add regression coverage, improve child-exit reporting, and replace
    timing assumptions in futex2 tests with explicit synchronization.

Keep open handles and hard links on one live inode state. Correct truncate,
symlink boundaries, unlink and directory rename in the MOSS adapter, with
filesystem and disk-format regressions. Use the registry ext4plus rc.2;
no vendoring or dependency patch is introduced.
Introduce filesystem statistics and procfs magic-link hooks required for
pidfd identity. Back pidfds with an internal pidfs and convert every AArch64
statfs field. Include flag, path, lifetime and ABI regressions.
Allow libc to fall back to clone instead of reaching the unknown-syscall
handler. Add a regression checking the unsupported syscall result.
Retry interrupted waits and distinguish exit codes from signal termination.
Return failure when a filter selects no tests.
Report SS_DISABLE for an absent stack and ignore its size when disabling.
Add a regression covering query, installation, disabling and restoration.
Save and restore Q0-Q31, FPCR and FPSR with aligned exception and signal
contexts. Test blocked context switches, signal return and clone.

Depends on the alternate-signal-stack fix. Use nanosleep in the context
probe so the tests do not depend on the separate sched_yield change.
Use absolute monotonic deadlines by default and realtime when requested.
Add timeout regressions for private/shared waits and both supported clocks.
Return ENOSYS for unsupported realtime operation combinations. Exercise both pthread condition-variable clocks as well as raw futex error semantics.
Stress concurrent SIMD-backed user copies into fresh mappings without filesystem I/O. Report the first differing byte in the ext4 unlink/write regression without dumping whole buffers.
Return the pathname size including its trailing NUL, as required by the
AArch64 syscall ABI. Add a raw-syscall and libc regression test.
Keep the current task stable while its syscall future is being polled.
Request rescheduling at the dispatcher boundary and relinquish the time
slice. Add a threaded context-preservation regression with a watchdog.
Copilot AI lite review requested due to automatic review settings September 21, 2026 03:09

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@hexagonal-sun

Copy link
Copy Markdown
Owner

Had a review, LGTM. Happy to merge once conflicts are resolved.

@hexagonal-sun
hexagonal-sun merged commit 4372bea into hexagonal-sun:master Oct 10, 2026
Comment thread libkernel/src/fs/filesystems/ext4/disk.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants