systemd-boot-builder: add missing fsync in atomic writes
write(2) and close(2) doesn't ensure the file content actually got synched, so let's also fsync before doing the rename
This commit is contained in:
parent
8335022649
commit
b7057368c8
1 changed files with 4 additions and 0 deletions
|
@ -66,6 +66,8 @@ def write_loader_conf(profile: str | None, generation: int, specialisation: str
|
|||
if not @editor@:
|
||||
f.write("editor 0\n")
|
||||
f.write("console-mode @consoleMode@\n")
|
||||
f.flush()
|
||||
os.fsync(f.fileno())
|
||||
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
|
||||
|
||||
|
||||
|
@ -143,6 +145,8 @@ def write_entry(profile: str | None, generation: int, specialisation: str | None
|
|||
description=describe_generation(profile, generation, specialisation)))
|
||||
if machine_id is not None:
|
||||
f.write("machine-id %s\n" % machine_id)
|
||||
f.flush()
|
||||
os.fsync(f.fileno())
|
||||
os.rename(tmp_path, entry_file)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue