From 1fcefd8815455e416c1eda3c8c1220831a2f82e9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 29 Apr 2016 12:21:52 +0200 Subject: [PATCH] journal-file: when rotating a journal file, fsync directory too As suggested by: https://github.com/systemd/systemd/pull/3126#discussion_r61125474 --- src/journal/journal-file.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index a58079bdd1b..c9ce5c73be5 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -3213,6 +3213,9 @@ int journal_file_rotate(JournalFile **f, bool compress, bool seal, Set *deferred if (r < 0 && errno != ENOENT) return -errno; + /* Sync the rename to disk */ + (void) fsync_directory_of_file(old_file->fd); + /* Set as archive so offlining commits w/state=STATE_ARCHIVED. * Previously we would set old_file->header->state to STATE_ARCHIVED directly here, * but journal_file_set_offline() short-circuits when state != STATE_ONLINE, which -- 2.39.2