]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
portable: make sure to fsync after extracting/copying 28014/head
authorLuca Boccassi <bluca@debian.org>
Mon, 12 Jun 2023 22:51:51 +0000 (23:51 +0100)
committerLuca Boccassi <bluca@debian.org>
Tue, 13 Jun 2023 09:12:00 +0000 (10:12 +0100)
Just in case we are on a flimsy filesystem/disk

src/portable/portable.c

index 6b3fd004407fba71de7fd0215854ba9fb7d27658..7cf1eddd4d299398b952b3eebe60d06cb4f213f0 100644 (file)
@@ -1142,7 +1142,7 @@ static int install_chroot_dropin(
                         }
         }
 
-        r = write_string_file(dropin, text, WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_ATOMIC);
+        r = write_string_file(dropin, text, WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_ATOMIC|WRITE_STRING_FILE_SYNC);
         if (r < 0)
                 return log_debug_errno(r, "Failed to write '%s': %m", dropin);
 
@@ -1189,7 +1189,7 @@ static int install_profile_dropin(
 
         if (flags & PORTABLE_PREFER_COPY) {
 
-                r = copy_file_atomic(from, dropin, 0644, COPY_REFLINK);
+                r = copy_file_atomic(from, dropin, 0644, COPY_REFLINK|COPY_FSYNC);
                 if (r < 0)
                         return log_debug_errno(r, "Failed to copy %s %s %s: %m", from, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), dropin);