Home | History | Annotate | Download | only in dns

Lines Matching defs:journal

1 /*	$NetBSD: journal.c,v 1.1 2024/02/18 20:57:32 christos Exp $	*/
35 #include <dns/journal.h>
45 * A journal file consists of
51 * of some arbitrary subset of the journal's addressable
56 * journal files, but does not change during the lifetime
59 * \li The journal data. This consists of one or more transactions.
68 * The journal data part grows as new transactions are
75 * appended to the journal but never committed by updating
179 * On-disk representation of a "pointer" to a journal entry.
180 * These are used in the journal header to locate the beginning
181 * and end of the journal, and in the journal index to locate
208 * The on-disk representation of the journal header.
259 * The in-core representation of the journal header.
297 * journal file.
300 * to identify the file as a BIND 9 journal file. An ASCII
302 * number to be consistent with BIND 8 (BIND 8 journal files
331 * while reading the journal */
332 char *filename; /*%< Journal file name */
336 journal_header_t header; /*%< In-core journal header */
337 unsigned char *rawindex; /*%< In-core buffer for journal index
339 journal_pos_t *index; /*%< In-core journal index */
350 /* These define the part of the journal we iterate over. */
414 * Journal file I/O subroutines, with error checking and reporting.
643 "journal file %s does not exist, "
696 "%s: journal format not recognized", j->filename);
800 * entries in the IXFR-style journal file.
867 * transaction headers in a version 1 journal.
930 * Advance '*pos' to the next journal transaction.
933 * *pos refers to a valid journal transaction.
937 * *pos refers to the next journal transaction.
982 "%s: journal file corrupt: "
1010 * If the index of the journal 'j' contains an entry "better"
1099 * in the journal 'j'.
1104 * last transaction in the journal), set '*pos' to
1109 * covered by the journal but that particular serial number is missing
1110 * (from the journal, not just from the index), return ISC_R_NOTFOUND.
1113 * covered by the journal, return ISC_R_RANGE.
1202 isc_log_write(JOURNAL_DEBUG_LOGARGS(3), "writing to journal");
1227 "dns_journal_writediff: %s: journal entry "
1270 * Write the buffer contents to the journal file.
1335 * We currently don't support huge journal entries.
1340 "transaction too big to be stored in journal: "
1347 * Some old journal entries may become non-addressable
1386 * Update the journal header.
1474 * Roll the open journal 'j' into the database 'db'.
1485 uint32_t end_serial; /* Last journal SOA serial */
1518 * Locate a journal entry for the current database serial.
1526 * to see if the journal needs rewriting: if any outdated
1567 "%s: journal file corrupt: missing "
1634 uint32_t end_serial; /* Last journal SOA serial */
1645 isc_log_write(JOURNAL_DEBUG_LOGARGS(3), "no journal file");
1649 "journal open failure: %s: %s",
1655 fprintf(file, "Journal format = %sHeader version = %d\n",
1710 "%s: journal file corrupt: missing "
1759 "%s: cannot print: journal file corrupt", j->filename);
1827 * When serving an outgoing IXFR, we transmit a part the journal starting
1830 * serial number is not necessarily at the end of the journal:
1831 * the journal may grow while the IXFR is in progress, but we stop
1883 * numbers are in the journal. Scan through them,
1963 "%s: journal corrupt: possible integer overflow",
1978 "%s: journal corrupt: empty transaction",
1992 "%s: journal file corrupt: "
2007 * Perform a sanity check on the journal RR size.
2015 "%s: journal corrupt: impossible RR size "
2057 "%s: journal corrupt: impossible rdlen "
2371 * Compare the databases 'dba' and 'dbb' and generate a journal
2373 * the order). This journal entry will consist of a single,
2395 dns_journal_t *journal = NULL;
2399 DNS_JOURNAL_CREATE, &journal);
2408 if (journal != NULL) {
2412 CHECK(dns_journal_write_transaction(journal, diff));
2417 if (journal != NULL) {
2418 dns_journal_destroy(&journal);
2508 * Always perform a re-write when processing a version 1 journal.
2513 * Check whether we need to rewrite the whole journal
2621 * journal to fix outdated transaction headers;
2622 * otherwise we'll copy the whole journal without
2640 "%s: journal file corrupt, "
2649 * If we're repairing an outdated journal, the
2674 "%s: journal file corrupt, "
2751 * Update the journal header.
2786 * Any IXFR outs will just continue and the old journal will be
2791 * this will fail, and the journal will not be compacted. But