]> git.ozlabs.org Git - ccan/commitdiff
tdb2: rearrange tdb_context layout so tdb1_context can match
authorRusty Russell <rusty@rustcorp.com.au>
Wed, 31 Aug 2011 05:46:16 +0000 (15:16 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 31 Aug 2011 05:46:16 +0000 (15:16 +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.

ccan/tdb2/private.h

index cc3bd6a96ba2d44ab3993b813119f2fac882e6fa..8d961e82c365c6b0f6956fbf1019451c285597f5 100644 (file)
@@ -328,15 +328,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,
@@ -345,16 +336,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;
        
@@ -369,9 +372,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;