From: Lennart Poettering Date: Tue, 13 Jun 2023 07:49:50 +0000 (+0200) Subject: tree-wide: start properly syncing at various places we so far didn't X-Git-Tag: v254-rc1~227^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F28017%2Fhead;p=thirdparty%2Fsystemd.git tree-wide: start properly syncing at various places we so far didn't Let's better be safe than sorry, and install files fully safely now that is is easy. --- diff --git a/src/boot/bootctl-install.c b/src/boot/bootctl-install.c index 26e18e3707a..397db7d3a2e 100644 --- a/src/boot/bootctl-install.c +++ b/src/boot/bootctl-install.c @@ -454,7 +454,7 @@ static int install_loader_config(const char *esp_path) { fprintf(f, "default %s-*\n", arg_entry_token); } - r = flink_tmpfile(f, t, p, /* flags= */ 0); + r = flink_tmpfile(f, t, p, LINK_TMPFILE_SYNC); if (r == -EEXIST) return 0; /* Silently skip creation if the file exists now (recheck) */ if (r < 0) @@ -483,7 +483,7 @@ static int install_loader_specification(const char *root) { fprintf(f, "type1\n"); - r = flink_tmpfile(f, t, p, /* flags= */ 0); + r = flink_tmpfile(f, t, p, LINK_TMPFILE_SYNC); if (r == -EEXIST) return 0; /* Silently skip creation if the file exists now (recheck) */ if (r < 0) diff --git a/src/portable/portable.c b/src/portable/portable.c index 44c69c0bebb..7d1fc87a912 100644 --- a/src/portable/portable.c +++ b/src/portable/portable.c @@ -1295,7 +1295,7 @@ static int attach_unit_file( if (fchmod(fd, 0644) < 0) return log_debug_errno(errno, "Failed to change unit file access mode for '%s': %m", path); - r = link_tmpfile(fd, tmp, path, /* flags= */ 0); + r = link_tmpfile(fd, tmp, path, LINK_TMPFILE_SYNC); if (r < 0) return log_debug_errno(r, "Failed to install unit file '%s': %m", path); diff --git a/src/shared/hwdb-util.c b/src/shared/hwdb-util.c index cf41d6a474a..59b678c424d 100644 --- a/src/shared/hwdb-util.c +++ b/src/shared/hwdb-util.c @@ -408,7 +408,7 @@ static int trie_store(struct trie *trie, const char *filename, bool compat) { return -errno; fwrite(&h, sizeof(struct trie_header_f), 1, f); - r = flink_tmpfile(f, filename_tmp, filename, LINK_TMPFILE_REPLACE); + r = flink_tmpfile(f, filename_tmp, filename, LINK_TMPFILE_REPLACE|LINK_TMPFILE_SYNC); if (r < 0) return r;