diff --git a/src/elements/core.c b/src/elements/core.c index ba9f38eb..fd252e8f 100644 --- a/src/elements/core.c +++ b/src/elements/core.c @@ -8997,21 +8997,21 @@ int __cold mdbx_env_open(MDBX_env *env, const char *pathname, unsigned flags, ~(MDBX_WRITEMAP | MDBX_MAPASYNC | MDBX_SAFE_NOSYNC | MDBX_NOMETASYNC | MDBX_COALESCE | MDBX_LIFORECLAIM | MDBX_NOMEMINIT | MDBX_ACCEDE); } else { -#ifdef __OpenBSD__ - /* Temporary `workaround` for OpenBSD kernel's bug. +#if MDBX_MMAP_INCOHERENT_FILE_WRITE + /* Temporary `workaround` for OpenBSD kernel's flaw. * See https://github.com/leo-yuriev/libmdbx/issues/67 */ if ((flags & MDBX_WRITEMAP) == 0) { if (flags & MDBX_ACCEDE) flags |= MDBX_WRITEMAP; else { mdbx_debug_log(MDBX_LOG_ERROR, __func__, __LINE__, - "OpenBSD requires MDBX_WRITEMAP because of an internal " - "bug(s) in a file/buffer/page cache.\n"); + "System (i.e. OpenBSD) requires MDBX_WRITEMAP because " + "of an internal flaw(s) in a file/buffer/page cache.\n"); rc = 42 /* ENOPROTOOPT */; goto bailout; } } -#endif /* __OpenBSD__ */ +#endif /* MDBX_MMAP_INCOHERENT_FILE_WRITE */ env->me_dirtylist = mdbx_calloc(MDBX_DPL_TXNFULL + 1, sizeof(MDBX_DP)); if (!env->me_dirtylist) rc = MDBX_ENOMEM;