[systemd-devel] Journal tests broken by commit 6573ef05a3cbe1 ("journal: keep per-JournalFile location info during iteration")
Filipe Brandenburger
filbranden at google.com
Thu Dec 18 16:58:13 PST 2014
On Thu, Dec 18, 2014 at 4:39 PM, Filipe Brandenburger
<filbranden at google.com> wrote:
> Not sure what's the correct solution, maybe journal_file_save_location
> needs to happen only in real_journal_next() outside the
> ORDERED_HASHMAP_FOREACH loop? I'll try that and report if I find
> something that seems to solve this problem...
I tried this on top of commit 6573ef05a3cbe1 and it solves the problem.
After applying this patch:
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 71b056c..a727e12 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -859,8 +859,6 @@
found = true;
if (found) {
- journal_file_save_location(f, direction, c, cp);
-
if (ret)
*ret = c;
if (offset)
@@ -917,6 +915,8 @@
if (!new_file)
return 0;
+ journal_file_save_location(new_file, direction, o, new_offset);
+
r = journal_file_move_to_object(new_file, OBJECT_ENTRY,
new_offset, &o);
if (r < 0)
return r;
Then "test-journal-stream" and "test-journal-interleaving" are working
again and I have a clean "make check" run.
But this does not work on trunk head, even after adapting it, the
tests start to fail in a different location, probably because of the
changes that come after it, so I think we'll need this and further
changes to it. I'll keep looking.
Cheers,
Filipe
More information about the systemd-devel
mailing list