]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9861 fix readonly regression from #9017
authorJoakim Hassila <jocke@ordo.one>
Thu, 9 Jun 2022 19:48:38 +0000 (21:48 +0200)
committerHoward Chu <hyc@openldap.org>
Thu, 9 Jun 2022 21:50:39 +0000 (22:50 +0100)
libraries/liblmdb/mdb.c

index befc70bc7353d0316f88ecc79018276d87054b41..5bdec70b1914f345f7f20be469a0205a1c9a5981 100644 (file)
@@ -6074,9 +6074,11 @@ mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mdb_mode_t mode
                /* Synchronous fd for meta writes. Needed even with
                 * MDB_NOSYNC/MDB_NOMETASYNC, in case these get reset.
                 */
-               rc = mdb_fopen(env, &fname, MDB_O_META, mode, &env->me_mfd);
-               if (rc)
-                       goto leave;
+               if (!(flags & (MDB_RDONLY|MDB_WRITEMAP))) {
+                       rc = mdb_fopen(env, &fname, MDB_O_META, mode, &env->me_mfd);
+                       if (rc)
+                               goto leave;
+               }
                DPRINTF(("opened dbenv %p", (void *) env));
                if (excl > 0 && !(flags & MDB_PREVSNAPSHOT)) {
                        rc = mdb_env_share_locks(env, &excl);