From: Quanah Gibson-Mount Date: Mon, 11 Aug 2014 18:45:00 +0000 (-0500) Subject: Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4 X-Git-Tag: OPENLDAP_REL_ENG_2_4_40~53 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b046124012a625fe8452fdca6ca257ba550811d0;hp=140b8c8bb93c985cacbd406d16e26ee0a31a93fa;p=openldap Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4 --- diff --git a/libraries/liblmdb/CHANGES b/libraries/liblmdb/CHANGES index 644b18de97..11dc2ec864 100644 --- a/libraries/liblmdb/CHANGES +++ b/libraries/liblmdb/CHANGES @@ -9,6 +9,7 @@ LMDB 0.9.14 Engineering Fix mdb_copy copying past end of file (ITS#7886) Fix cursor bugs from page_merge/rebalance Fix to dirty fewer pages in deletes (mdb_page_loose()) + Fix mdb_dbi_open creating subDBs (ITS#7917) Fix Windows compat issues in mtests (ITS#7879) Add compacting variant of mdb_copy Add BigEndian integer key compare code diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 8b560ed32e..47a503636c 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -85,6 +85,7 @@ extern int cacheflush(char *addr, int nbytes, int cache); #include #include #include +#include #include #include #include @@ -8469,9 +8470,9 @@ mdb_env_copyfd1(MDB_env *env, HANDLE fd) #else pthread_mutex_init(&my.mc_mutex, NULL); pthread_cond_init(&my.mc_cond, NULL); - rc = posix_memalign((void **)&my.mc_wbuf[0], env->me_os_psize, MDB_WBUF*2); - if (rc) - return rc; + my.mc_wbuf[0] = memalign(env->me_os_psize, MDB_WBUF*2); + if (my.mc_wbuf[0] == NULL) + return errno; #endif memset(my.mc_wbuf[0], 0, MDB_WBUF*2); my.mc_wbuf[1] = my.mc_wbuf[0] + MDB_WBUF; @@ -8891,6 +8892,7 @@ int mdb_dbi_open(MDB_txn *txn, const char *name, unsigned int flags, MDB_dbi *db MDB_val key, data; MDB_dbi i; MDB_cursor mc; + MDB_db dummy; int rc, dbflag, exact; unsigned int unused = 0, seq; size_t len; @@ -8960,7 +8962,6 @@ int mdb_dbi_open(MDB_txn *txn, const char *name, unsigned int flags, MDB_dbi *db return MDB_INCOMPATIBLE; } else if (rc == MDB_NOTFOUND && (flags & MDB_CREATE)) { /* Create if requested */ - MDB_db dummy; data.mv_size = sizeof(MDB_db); data.mv_data = &dummy; memset(&dummy, 0, sizeof(dummy));