summaryrefslogtreecommitdiff
path: root/src/journal/journal-file.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-07-16 19:28:05 +0200
committerLennart Poettering <lennart@poettering.net>2012-07-16 19:28:05 +0200
commit162566a4a12c35e1e86e35ced1748354f7ec935e (patch)
tree56f08918939ffaa2395d5b777c7409de998f6493 /src/journal/journal-file.c
parent74d29da52409ab149738ea76824679d29598e0ac (diff)
journal: use tail/head timestamps from header for cutoff logic
We have them, they are faster to use them, so use them...
Diffstat (limited to 'src/journal/journal-file.c')
-rw-r--r--src/journal/journal-file.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
index cd5ab266f0..a110a0090f 100644
--- a/src/journal/journal-file.c
+++ b/src/journal/journal-file.c
@@ -2446,26 +2446,21 @@ void journal_default_metrics(JournalMetrics *m, int fd) {
}
int journal_file_get_cutoff_realtime_usec(JournalFile *f, usec_t *from, usec_t *to) {
- Object *o;
- int r;
-
assert(f);
assert(from || to);
if (from) {
- r = journal_file_next_entry(f, NULL, 0, DIRECTION_DOWN, &o, NULL);
- if (r <= 0)
- return r;
+ if (f->header->head_entry_realtime == 0)
+ return -ENOENT;
- *from = le64toh(o->entry.realtime);
+ *from = le64toh(f->header->head_entry_realtime);
}
if (to) {
- r = journal_file_next_entry(f, NULL, 0, DIRECTION_UP, &o, NULL);
- if (r <= 0)
- return r;
+ if (f->header->tail_entry_realtime == 0)
+ return -ENOENT;
- *to = le64toh(o->entry.realtime);
+ *to = le64toh(f->header->tail_entry_realtime);
}
return 1;