From e33848568d3321c4f042d8352168a8cf006646e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 10 May 2017 10:31:01 +0100 Subject: [PATCH] systemd-boot: document reasoning behind syncfs(2) --- .../system/boot/loader/systemd-boot/systemd-boot-builder.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index 804b710f3759..cb2a17f18f48 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -148,6 +148,10 @@ def main(): if os.readlink(system_dir(gen)) == args.default_config: write_loader_conf(gen) + # Since fat32 provides little recovery facilities after a crash, + # it can leave the system in an unbootable state, when a crash/outage + # happens shortly after an update. To decrease the likelihood of this + # event sync the efi filesystem after each update. rc = libc.syncfs(os.open("@efiSysMountPoint@", os.O_RDONLY)) if rc != 0: print("could not sync @efiSysMountPoint@: {}".format(os.strerror(rc)), file=sys.stderr)