/* 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);