Lines Matching refs:header

86 /* The mmap context to use for the header we pick as one above the last defined typed */
95 if (!(f->fd >= 0 && f->header))
101 switch (f->header->state) {
106 f->header->state = STATE_ONLINE;
121 if (!(f->fd >= 0 && f->header))
124 if (f->header->state != STATE_ONLINE)
132 f->header->state = STATE_OFFLINE;
228 h.seqnum_id = template->header->seqnum_id;
229 h.tail_entry_seqnum = template->header->tail_entry_seqnum;
248 assert(f->header);
250 r = sd_id128_get_machine(&f->header->machine_id);
258 if (sd_id128_equal(boot_id, f->header->boot_id))
261 f->header->boot_id = boot_id;
275 assert(f->header);
277 if (memcmp(f->header->signature, HEADER_SIGNATURE, 8))
282 flags = le32toh(f->header->incompatible_flags);
296 flags = le32toh(f->header->compatible_flags);
308 if (f->header->state >= _STATE_MAX)
312 if (le64toh(f->header->header_size) < HEADER_SIZE_MIN)
315 if (JOURNAL_HEADER_SEALED(f->header) && !JOURNAL_HEADER_CONTAINS(f->header, n_entry_arrays))
318 if ((le64toh(f->header->header_size) + le64toh(f->header->arena_size)) > (uint64_t) f->last_stat.st_size)
321 if (le64toh(f->header->tail_object_offset) > (le64toh(f->header->header_size) + le64toh(f->header->arena_size)))
324 if (!VALID64(le64toh(f->header->data_hash_table_offset)) ||
325 !VALID64(le64toh(f->header->field_hash_table_offset)) ||
326 !VALID64(le64toh(f->header->tail_object_offset)) ||
327 !VALID64(le64toh(f->header->entry_array_offset)))
339 if (!sd_id128_equal(machine_id, f->header->machine_id))
342 state = f->header->state;
355 f->compress_xz = JOURNAL_HEADER_COMPRESSED_XZ(f->header);
356 f->compress_lz4 = JOURNAL_HEADER_COMPRESSED_LZ4(f->header);
358 f->seal = JOURNAL_HEADER_SEALED(f->header);
384 assert(f->header);
394 le64toh(f->header->header_size) +
395 le64toh(f->header->arena_size);
398 if (new_size < le64toh(f->header->header_size))
399 new_size = le64toh(f->header->header_size);
445 f->header->arena_size = htole64(new_size - le64toh(f->header->header_size));
548 assert(f->header);
550 r = le64toh(f->header->tail_entry_seqnum) + 1;
563 f->header->tail_entry_seqnum = htole64(r);
565 if (f->header->head_entry_seqnum == 0)
566 f->header->head_entry_seqnum = htole64(r);
578 assert(f->header);
588 p = le64toh(f->header->tail_object_offset);
590 p = le64toh(f->header->header_size);
613 f->header->tail_object_offset = htole64(p);
614 f->header->n_objects = htole64(le64toh(f->header->n_objects) + 1);
628 assert(f->header);
650 f->header->data_hash_table_offset = htole64(p + offsetof(Object, hash_table.items));
651 f->header->data_hash_table_size = htole64(s);
662 assert(f->header);
677 f->header->field_hash_table_offset = htole64(p + offsetof(Object, hash_table.items));
678 f->header->field_hash_table_size = htole64(s);
689 assert(f->header);
694 p = le64toh(f->header->data_hash_table_offset);
695 s = le64toh(f->header->data_hash_table_size);
715 assert(f->header);
720 p = le64toh(f->header->field_hash_table_offset);
721 s = le64toh(f->header->field_hash_table_size);
745 assert(f->header);
753 m = le64toh(f->header->field_hash_table_size) / sizeof(HashItem);
774 if (JOURNAL_HEADER_CONTAINS(f->header, n_fields))
775 f->header->n_fields = htole64(le64toh(f->header->n_fields) + 1);
790 assert(f->header);
798 m = le64toh(f->header->data_hash_table_size) / sizeof(HashItem);
825 if (JOURNAL_HEADER_CONTAINS(f->header, n_data))
826 f->header->n_data = htole64(le64toh(f->header->n_data) + 1);
840 assert(f->header);
844 if (le64toh(f->header->field_hash_table_size) <= 0)
854 m = le64toh(f->header->field_hash_table_size) / sizeof(HashItem);
912 assert(f->header);
916 if (le64toh(f->header->data_hash_table_size) <= 0)
926 m = le64toh(f->header->data_hash_table_size) / sizeof(HashItem);
1209 assert(f->header);
1266 if (JOURNAL_HEADER_CONTAINS(f->header, n_entry_arrays))
1267 f->header->n_entry_arrays = htole64(le64toh(f->header->n_entry_arrays) + 1);
1330 assert(f->header);
1341 &f->header->entry_array_offset,
1342 &f->header->n_entries,
1347 /* log_debug("=> %s seqnr=%"PRIu64" n_entries=%"PRIu64, f->path, o->entry.seqnum, f->header->n_entries); */
1349 if (f->header->head_entry_realtime == 0)
1350 f->header->head_entry_realtime = o->entry.realtime;
1352 f->header->tail_entry_realtime = o->entry.realtime;
1353 f->header->tail_entry_monotonic = o->entry.monotonic;
1381 assert(f->header);
1396 o->entry.boot_id = f->header->boot_id;
1526 assert(f->header);
2039 assert(f->header);
2042 le64toh(f->header->entry_array_offset),
2043 le64toh(f->header->n_entries),
2076 assert(f->header);
2079 le64toh(f->header->entry_array_offset),
2080 le64toh(f->header->n_entries),
2169 assert(af->header);
2171 assert(bf->header);
2183 if (sd_id128_equal(af->header->seqnum_id, bf->header->seqnum_id)) {
2231 assert(f->header);
2233 n = le64toh(f->header->n_entries);
2241 le64toh(f->header->entry_array_offset),
2242 le64toh(f->header->n_entries),
2266 le64toh(f->header->entry_array_offset),
2514 assert(f->header);
2518 p = le64toh(f->header->header_size);
2572 if (p == le64toh(f->header->tail_object_offset))
2599 assert(f->header);
2622 sd_id128_to_string(f->header->file_id, a),
2623 sd_id128_to_string(f->header->machine_id, b),
2624 sd_id128_to_string(f->header->boot_id, c),
2625 sd_id128_to_string(f->header->seqnum_id, d),
2626 f->header->state == STATE_OFFLINE ? "OFFLINE" :
2627 f->header->state == STATE_ONLINE ? "ONLINE" :
2628 f->header->state == STATE_ARCHIVED ? "ARCHIVED" : "UNKNOWN",
2629 JOURNAL_HEADER_SEALED(f->header) ? " SEALED" : "",
2630 (le32toh(f->header->compatible_flags) & ~HEADER_COMPATIBLE_ANY) ? " ???" : "",
2631 JOURNAL_HEADER_COMPRESSED_XZ(f->header) ? " COMPRESSED-XZ" : "",
2632 JOURNAL_HEADER_COMPRESSED_LZ4(f->header) ? " COMPRESSED-LZ4" : "",
2633 (le32toh(f->header->incompatible_flags) & ~HEADER_INCOMPATIBLE_ANY) ? " ???" : "",
2634 le64toh(f->header->header_size),
2635 le64toh(f->header->arena_size),
2636 le64toh(f->header->data_hash_table_size) / sizeof(HashItem),
2637 le64toh(f->header->field_hash_table_size) / sizeof(HashItem),
2639 le64toh(f->header->head_entry_seqnum),
2640 le64toh(f->header->tail_entry_seqnum),
2641 format_timestamp_safe(x, sizeof(x), le64toh(f->header->head_entry_realtime)),
2642 format_timestamp_safe(y, sizeof(y), le64toh(f->header->tail_entry_realtime)),
2643 format_timespan(z, sizeof(z), le64toh(f->header->tail_entry_monotonic), USEC_PER_MSEC),
2644 le64toh(f->header->n_objects),
2645 le64toh(f->header->n_entries));
2647 if (JOURNAL_HEADER_CONTAINS(f->header, n_data))
2650 le64toh(f->header->n_data),
2651 100.0 * (double) le64toh(f->header->n_data) / ((double) (le64toh(f->header->data_hash_table_size) / sizeof(HashItem))));
2653 if (JOURNAL_HEADER_CONTAINS(f->header, n_fields))
2656 le64toh(f->header->n_fields),
2657 100.0 * (double) le64toh(f->header->n_fields) / ((double) (le64toh(f->header->field_hash_table_size) / sizeof(HashItem))));
2659 if (JOURNAL_HEADER_CONTAINS(f->header, n_tags))
2661 le64toh(f->header->n_tags));
2662 if (JOURNAL_HEADER_CONTAINS(f->header, n_entry_arrays))
2664 le64toh(f->header->n_entry_arrays));
2829 f->header = h;
2926 SD_ID128_FORMAT_VAL(old_file->header->seqnum_id),
2927 le64toh((*f)->header->head_entry_seqnum),
2928 le64toh((*f)->header->head_entry_realtime));
2939 old_file->header->state = STATE_ARCHIVED;
3205 assert(f->header);
3209 if (f->header->head_entry_realtime == 0)
3212 *from = le64toh(f->header->head_entry_realtime);
3216 if (f->header->tail_entry_realtime == 0)
3219 *to = le64toh(f->header->tail_entry_realtime);
3269 assert(f->header);
3271 /* If we gained new header fields we gained new features,
3273 if (le64toh(f->header->header_size) < sizeof(Header)) {
3274 log_debug("%s uses an outdated header, suggesting rotation.", f->path);
3284 if (JOURNAL_HEADER_CONTAINS(f->header, n_data))
3285 if (le64toh(f->header->n_data) * 4ULL > (le64toh(f->header->data_hash_table_size) / sizeof(HashItem)) * 3ULL) {
3288 100.0 * (double) le64toh(f->header->n_data) / ((double) (le64toh(f->header->data_hash_table_size) / sizeof(HashItem))),
3289 le64toh(f->header->n_data),
3290 le64toh(f->header->data_hash_table_size) / sizeof(HashItem),
3292 f->last_stat.st_size / le64toh(f->header->n_data));
3296 if (JOURNAL_HEADER_CONTAINS(f->header, n_fields))
3297 if (le64toh(f->header->n_fields) * 4ULL > (le64toh(f->header->field_hash_table_size) / sizeof(HashItem)) * 3ULL) {
3300 100.0 * (double) le64toh(f->header->n_fields) / ((double) (le64toh(f->header->field_hash_table_size) / sizeof(HashItem))),
3301 le64toh(f->header->n_fields),
3302 le64toh(f->header->field_hash_table_size) / sizeof(HashItem));
3307 if (JOURNAL_HEADER_CONTAINS(f->header, n_data) &&
3308 JOURNAL_HEADER_CONTAINS(f->header, n_fields) &&
3309 le64toh(f->header->n_data) > 0 &&
3310 le64toh(f->header->n_fields) == 0)
3316 h = le64toh(f->header->head_entry_realtime);