nixos/systemd-boot: fsync() copied files

Since mkstemp() gives us a file descriptor, we may as well call fsync().
This commit is contained in:
sternenseemann
2025-09-24 01:35:51 +02:00
parent 94c190a55c
commit 85c7452e80

View File

@@ -65,9 +65,10 @@ class SystemIdentifier(NamedTuple):
def copy_if_not_exists(source: Path, dest: Path) -> None: def copy_if_not_exists(source: Path, dest: Path) -> None:
if not dest.exists(): if not dest.exists():
_hdl, tmpfile = tempfile.mkstemp(dir=dest.parent, prefix=dest.name) tmpfd, tmppath = tempfile.mkstemp(dir=dest.parent, prefix=dest.name, suffix='.tmp.')
shutil.copyfile(source, tmpfile) shutil.copyfile(source, tmppath)
shutil.move(tmpfile, dest) os.fsync(tmpfd)
shutil.move(tmppath, dest)
def generation_dir(profile: str | None, generation: int) -> Path: def generation_dir(profile: str | None, generation: int) -> Path: