From: Lennart Poettering Date: Fri, 29 Apr 2016 10:21:52 +0000 (+0200) Subject: journal-file: when rotating a journal file, fsync directory too X-Git-Tag: v230~111^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3126%2Fhead;p=thirdparty%2Fsystemd.git journal-file: when rotating a journal file, fsync directory too As suggested by: https://github.com/systemd/systemd/pull/3126#discussion_r61125474 --- 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