From: Lennart Poettering Date: Wed, 4 Jan 2012 01:15:45 +0000 (+0100) Subject: journal: add memory barrier before linking in newly created entries X-Git-Tag: v38~85 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=b788cc23aa50682fe80c1b78cc5e42aaf7d76bc5 journal: add memory barrier before linking in newly created entries --- diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index 45aab0e54..15a752d50 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -138,6 +138,9 @@ static int journal_file_refresh_header(JournalFile *f) { f->header->boot_id = boot_id; f->header->state = STATE_ONLINE; + + __sync_synchronize(); + return 0; } @@ -898,6 +901,8 @@ static int journal_file_link_entry(JournalFile *f, Object *o, uint64_t offset) { assert(offset > 0); assert(o->object.type == OBJECT_ENTRY); + __sync_synchronize(); + /* Link up the entry itself */ r = link_entry_into_array(f, &f->header->entry_array_offset,