On Wed, Oct 15, 2025, at 3:38 AM, Lennart Poettering wrote: > On Di, 14.10.25 11:14, Chris Murphy ([email protected]) wrote: > >> Lack of journal replay support for a small read only driver isn't >> brokenness. If the use case requires the journal to be flushed, then >> it's expected that use case will use FIFREEZE/FITHAW. > > Ahem. Can we please get that FIFREEZE/FITHAW idea out of everybody's > head?
Please don't say this. It's bad advice. Try sticking to getting people to stop using journaled file systems for /boot first. If you succeed with that, then FIFREEZE/FITHAW is not necessary. Instead maybe you just can't boot at all because the crash happened while the fragile FAT file system was being modified, and the firmware doesn't do fsck/chkdisk. If everyone wants journaled file systems for /boot - and so far they do - they need FIFREEZE/FITHAW for crash/power fail safety. If there is a clean unmount, then the journal is flushed. Otherwise it isn't, but the bootloader can't do log replay, therefore FIFREEZE/FITHAW. OK Btrfs strictly doesn't need it because the bootloader will see either old or new initramfs in case of a badly timed crash. But to set the new initramfs dracut could use 'btrfs filesystem sync' i.e. BTRFS_IOC_SYNC ioctl instead of using fsfreeze utility. Dracut -f renames with mv which uses renameat2() with flag RENAME_NOREPLACE, which will fails with EEXIST, then falls back to renameat(). I don't know that dracut has access to renameat2() REPLACE_EXCHANGE flag. But if that's a VFS only distinction it may not matter for crash/power fail cases, I'm not sure. > The fact that on some file systems it flushes the journal is an > implementation detail, not a general feature of the concept. You > cannot rely on this. Moreover, it does a lot you really *don't* want, > i.e. frickin freeze IO on that fs! If that fs is necessary for > operation you risk a hung system. I'm pretty sure dracut folks gave up on using fsfreeze on / file systems, i.e. /boot is a directory on /. There's just way too much to flush on a busy file system, and it would hang, so fsfreeze -u couldn't be issued. But that was a long time ago. Maybe some changes have happened since then. -- Chris Murphy -- _______________________________________________ devel mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
