From f7b3eb1ecf6935dbf2b6c283e848ebfbaaeca47c Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 4 Feb 2010 23:08:44 +1030 Subject: [PATCH] tdb: use TDB_RECOVERY_INVALID_MAGIC rather than 0 --- ccan/tdb/check.c | 2 +- ccan/tdb/tdb_private.h | 1 + ccan/tdb/transaction.c | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ccan/tdb/check.c b/ccan/tdb/check.c index 0a347715..dca8d1d9 100644 --- a/ccan/tdb/check.c +++ b/ccan/tdb/check.c @@ -370,7 +370,7 @@ int tdb_check(struct tdb_context *tdb, goto free; break; case TDB_RECOVERY_MAGIC: - case 0: /* Used for invalid (or in-progress) recovery area. */ + case TDB_RECOVERY_INVALID_MAGIC: if (recovery_start != off) { TDB_LOG((tdb, TDB_DEBUG_ERROR, "Unexpected recovery record at offset %d\n", diff --git a/ccan/tdb/tdb_private.h b/ccan/tdb/tdb_private.h index 2ccd2e78..66954ab0 100644 --- a/ccan/tdb/tdb_private.h +++ b/ccan/tdb/tdb_private.h @@ -69,6 +69,7 @@ typedef uint32_t tdb_off_t; #define TDB_FREE_MAGIC (~TDB_MAGIC) #define TDB_DEAD_MAGIC (0xFEE1DEAD) #define TDB_RECOVERY_MAGIC (0xf53bc0e7U) +#define TDB_RECOVERY_INVALID_MAGIC (0x0) #define TDB_ALIGNMENT 4 #define DEFAULT_HASH_SIZE 131 #define FREELIST_TOP (sizeof(struct tdb_header)) diff --git a/ccan/tdb/transaction.c b/ccan/tdb/transaction.c index c5580f20..261428fd 100644 --- a/ccan/tdb/transaction.c +++ b/ccan/tdb/transaction.c @@ -494,10 +494,10 @@ int _tdb_transaction_cancel(struct tdb_context *tdb, int ltype) if (tdb->transaction->magic_offset) { const struct tdb_methods *methods = tdb->transaction->io_methods; - uint32_t zero = 0; + uint32_t invalid = TDB_RECOVERY_INVALID_MAGIC; /* remove the recovery marker */ - if (methods->tdb_write(tdb, tdb->transaction->magic_offset, &zero, 4) == -1 || + if (methods->tdb_write(tdb, tdb->transaction->magic_offset, &invalid, 4) == -1 || transaction_sync(tdb, tdb->transaction->magic_offset, 4) == -1) { TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_transaction_cancel: failed to remove recovery magic\n")); ret = -1; @@ -805,7 +805,7 @@ static int transaction_setup_recovery(struct tdb_context *tdb, rec = (struct tdb_record *)data; memset(rec, 0, sizeof(*rec)); - rec->magic = 0; + rec->magic = TDB_RECOVERY_INVALID_MAGIC; rec->data_len = recovery_size; rec->rec_len = recovery_max_size; rec->key_len = old_map_size; -- 2.39.2