Commit f7b3eb1e authored by Rusty Russell's avatar Rusty Russell

tdb: use TDB_RECOVERY_INVALID_MAGIC rather than 0

parent 5ebc1701
...@@ -370,7 +370,7 @@ int tdb_check(struct tdb_context *tdb, ...@@ -370,7 +370,7 @@ int tdb_check(struct tdb_context *tdb,
goto free; goto free;
break; break;
case TDB_RECOVERY_MAGIC: case TDB_RECOVERY_MAGIC:
case 0: /* Used for invalid (or in-progress) recovery area. */ case TDB_RECOVERY_INVALID_MAGIC:
if (recovery_start != off) { if (recovery_start != off) {
TDB_LOG((tdb, TDB_DEBUG_ERROR, TDB_LOG((tdb, TDB_DEBUG_ERROR,
"Unexpected recovery record at offset %d\n", "Unexpected recovery record at offset %d\n",
......
...@@ -69,6 +69,7 @@ typedef uint32_t tdb_off_t; ...@@ -69,6 +69,7 @@ typedef uint32_t tdb_off_t;
#define TDB_FREE_MAGIC (~TDB_MAGIC) #define TDB_FREE_MAGIC (~TDB_MAGIC)
#define TDB_DEAD_MAGIC (0xFEE1DEAD) #define TDB_DEAD_MAGIC (0xFEE1DEAD)
#define TDB_RECOVERY_MAGIC (0xf53bc0e7U) #define TDB_RECOVERY_MAGIC (0xf53bc0e7U)
#define TDB_RECOVERY_INVALID_MAGIC (0x0)
#define TDB_ALIGNMENT 4 #define TDB_ALIGNMENT 4
#define DEFAULT_HASH_SIZE 131 #define DEFAULT_HASH_SIZE 131
#define FREELIST_TOP (sizeof(struct tdb_header)) #define FREELIST_TOP (sizeof(struct tdb_header))
......
...@@ -494,10 +494,10 @@ int _tdb_transaction_cancel(struct tdb_context *tdb, int ltype) ...@@ -494,10 +494,10 @@ int _tdb_transaction_cancel(struct tdb_context *tdb, int ltype)
if (tdb->transaction->magic_offset) { if (tdb->transaction->magic_offset) {
const struct tdb_methods *methods = tdb->transaction->io_methods; const struct tdb_methods *methods = tdb->transaction->io_methods;
uint32_t zero = 0; uint32_t invalid = TDB_RECOVERY_INVALID_MAGIC;
/* remove the recovery marker */ /* 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) { transaction_sync(tdb, tdb->transaction->magic_offset, 4) == -1) {
TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_transaction_cancel: failed to remove recovery magic\n")); TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_transaction_cancel: failed to remove recovery magic\n"));
ret = -1; ret = -1;
...@@ -805,7 +805,7 @@ static int transaction_setup_recovery(struct tdb_context *tdb, ...@@ -805,7 +805,7 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
rec = (struct tdb_record *)data; rec = (struct tdb_record *)data;
memset(rec, 0, sizeof(*rec)); memset(rec, 0, sizeof(*rec));
rec->magic = 0; rec->magic = TDB_RECOVERY_INVALID_MAGIC;
rec->data_len = recovery_size; rec->data_len = recovery_size;
rec->rec_len = recovery_max_size; rec->rec_len = recovery_max_size;
rec->key_len = old_map_size; rec->key_len = old_map_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment