]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
fileio: sync directory after rename, too
authorLennart Poettering <lennart@poettering.net>
Wed, 20 May 2020 15:14:48 +0000 (17:14 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 21 May 2020 21:28:48 +0000 (23:28 +0200)
src/basic/fileio.c

index 6b84d1462438033900801bc97c16c01900fb2049..00dce02064f579884a4feb1458fa6defeba29c7c 100644 (file)
@@ -202,6 +202,13 @@ static int write_string_file_atomic(
                 goto fail;
         }
 
+        if (FLAGS_SET(flags, WRITE_STRING_FILE_SYNC)) {
+                /* Sync the rename, too */
+                r = fsync_directory_of_file(fileno(f));
+                if (r < 0)
+                        return r;
+        }
+
         return 0;
 
 fail: