]> 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:52:01 +0000 (22:52 +0100)
libraries/liblmdb/mdb.c

index 29baf6c2070de2d617b7c93584779fe73919b251..40728e716bf3ed77371bf1933ef2d349b61ccee1 100644 (file)
@@ -5634,10 +5634,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);