tdb2: rearrange tdb_context layout so tdb1_context can match
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 13 Sep 2011 22:00:13 +0000 (07:30 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 13 Sep 2011 22:00:13 +0000 (07:30 +0930)
By moving all the parts of struct tdb_context which logging and
locking use to the beginning of the structure, we can make
tdb1_context match, and thus pass that directly to the tdb_logerr()
function, and later the locking functions.

This is only necessary until we unify tdb1_context and tdb_context.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(Imported from CCAN commit 0fd5be2955f8e6487c0f4ab711e2a6958bb8f412)

lib/tdb2/private.h

index 7c051121d7682328150285f64186539033f89c0c..fd848cf65babf4a6649ef3879ad70ac5bdd0dd59 100644 (file)
@@ -340,15 +340,6 @@ struct tdb_context {
        /* Filename of the database. */
        const char *name;
 
-       /* Are we accessing directly? (debugging check). */
-       int direct_access;
-
-       /* Open flags passed to tdb_open. */
-       int open_flags;
-
-       /* the flags passed to tdb_open, for tdb_reopen. */
-       uint32_t flags;
-
        /* Logging function */
        void (*log_fn)(struct tdb_context *tdb,
                       enum tdb_log_level level,
@@ -357,16 +348,28 @@ struct tdb_context {
                       void *data);
        void *log_data;
 
-       /* Hash function. */
-       uint64_t (*hash_fn)(const void *key, size_t len, uint64_t seed, void *);
-       void *hash_data;
-       uint64_t hash_seed;
+       /* Open flags passed to tdb_open. */
+       int open_flags;
 
        /* low level (fnctl) lock functions. */
        int (*lock_fn)(int fd, int rw, off_t off, off_t len, bool w, void *);
        int (*unlock_fn)(int fd, int rw, off_t off, off_t len, void *);
        void *lock_data;
 
+       /* the flags passed to tdb_open. */
+       uint32_t flags;
+
+       /* Our statistics. */
+       struct tdb_attribute_stats stats;
+
+       /* Are we accessing directly? (debugging check). */
+       int direct_access;
+
+       /* Hash function. */
+       uint64_t (*hash_fn)(const void *key, size_t len, uint64_t seed, void *);
+       void *hash_data;
+       uint64_t hash_seed;
+
        /* Set if we are in a transaction. */
        struct tdb_transaction *transaction;
 
@@ -381,9 +384,6 @@ struct tdb_context {
        /* IO methods: changes for transactions. */
        const struct tdb_methods *methods;
 
-       /* Our statistics. */
-       struct tdb_attribute_stats stats;
-
        /* Direct access information */
        struct tdb_access_hdr *access;