]> git.ozlabs.org Git - ccan/commitdiff
tdb: use TDB_RECOVERY_INVALID_MAGIC rather than 0
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 4 Feb 2010 12:38:44 +0000 (23:08 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Thu, 4 Feb 2010 12:38:44 +0000 (23:08 +1030)
ccan/tdb/check.c
ccan/tdb/tdb_private.h
ccan/tdb/transaction.c

index 0a347715e35e03d5d5e67f551641f6c532b3c706..dca8d1d98e003e91466957150c8e4aa681450886 100644 (file)
@@ -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",
index 2ccd2e788e4116529c68410e6e363833a3b87f3b..66954ab013f1ae0671462306a435773842eba8bc 100644 (file)
@@ -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))
index c5580f205d39c074fbbe52f9f5545659638112c3..261428fd9c9e5d0b902266ff3b91f9a24a37b898 100644 (file)
@@ -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;