This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hurd".

The branch, master has been updated
       via  370c37aaee375c90e1f8547c3736cf5b184b2878 (commit)
      from  6b8b18b3a227acff76fa92cb4c3a3f6b46684168 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 370c37aaee375c90e1f8547c3736cf5b184b2878
Author: Milos Nikic <[email protected]>
Date:   Tue Sep 8 08:56:39 2026 -0700

    ext2fs: Rework JBD2 checkpointing, fix cache coherency, and eliminate 
deadlocks
    
    This patch completely overhauls the ext2fs journal checkpointing
    architecture and fixes several severe race conditions with the Mach VM pager
    during system shutdown and heavy I/O load.
    
    1. Lock-Safe Active Checkpointer
    Previously, the journal attempted to reclaim space by recursively calling
    back into the VFS via `journal_sync_everything`. Under heavy load (e.g.,
    compiling), this caused lock inversions and thread exhaustion. Checkpointing
    is now a fully self-sufficient process that streams in-memory WAL shadow
    buffers directly to the metal, completely bypassing the VFS node cache.
    
    2. Lifeboat Cache Coherency (Page Boundary Corruption)
    Fixed a critical bug where file data intercepted by the Lifeboat
    mechanism was silently overwritten by stale shadow metadata from older
    checkpoints. Lifeboat flushes now utilize the global notification system
    (`journal_notify_blocks_written_locked`) to mark blocks as written across
    all active transactions, fixing file corruption at 4KB page boundaries.
    
    3. Shutdown Consistency & Ghost Inodes
    Unlinked files (nlink=0) were previously left with unset `dtime` because
    their weak pager references were not dropped before the final journal
    commit. `diskfs_shutdown_pager` now explicitly drops these references to
    trigger synchronous `diskfs_drop_node` calls.
    
    4. `startup_dosync` Integration
    Injected `diskfs_journal_shutdown` into `libdiskfs/init-startup.c` to
    ensure the root filesystem journal is properly quiesced (Head 0) before the
    microkernel forces the disk into read-only mode during `sudo halt`.

-----------------------------------------------------------------------

Summary of changes:
 ext2fs/ext2fs.h          |   7 -
 ext2fs/journal.c         | 686 +++++++++++++++++++++++++++++++++--------------
 ext2fs/journal.h         |   7 -
 ext2fs/pager.c           | 104 ++++---
 libdiskfs/diskfs.h       |   8 +
 libdiskfs/init-startup.c |   1 +
 libdiskfs/journal.c      |   9 +-
 libdiskfs/shutdown.c     |   1 +
 8 files changed, 580 insertions(+), 243 deletions(-)


hooks/post-receive
-- 
Hurd

Reply via email to