Milos Nikic, le mar. 01 juil. 2025 21:32:19 -0700, a ecrit: > The current version uses an asynchronous producer-consumer model with a > ring-buffer queue and a dedicated flusher thread.
Mmm, is that really how it can work? AIUI journalling first makes sure the journal is written before making some actual changes. Some changes can be made before writing to the journal (e.g. new data), but other changes cannot because if they are done half-way before they are recorded in the journal, you don't know what it was supposed to do. > (it also synchounosly flushes > on diskfs_sync_everything). > Binary journal entries are now written to a raw device (currently implemented > as a regular file at /tmp/journal-pipe) using a fixed-size record format. > The journal is CRC32-protected and durably persisted across restarts. > The first 4 KB of the journal is reserved for a header that tracks the current > head/tail pointers and it too includes a CRC32 checksum for integrity, along > with version, and magic etc. > On startup, the system replays and validates the existing journal entries. Ok, but is that close to the ext4 format? We do not want to diverge from it, so that we can mount the same ext4 volumes in Linux and Hurd seamlessly. Thanks for this, Samuel