30 lines
1.0 KiB
Diff
30 lines
1.0 KiB
Diff
Author: Filip Januš <fjanus@redhat.com>
|
|
Date: 6 Sep 2021
|
|
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1992402
|
|
|
|
Changing the size to max if set in the environment.
|
|
|
|
Do it also every-time on aarch64 as this issue caused rpm to hang staring 8.4.0
|
|
(likely influenced by changes in other components) and rpm is not able to set
|
|
the environment this way.
|
|
|
|
diff -ur db-5.3.28/src/os/os_map.c db-patched/src/os/os_map.c
|
|
--- db-5.3.28/src/os/os_map.c 2013-09-09 17:35:09.000000000 +0200
|
|
+++ db-patched/src/os/os_map.c 2021-09-08 21:45:16.914146219 +0200
|
|
@@ -213,7 +213,14 @@
|
|
if (rp->max < rp->size)
|
|
rp->max = rp->size;
|
|
if (ret == 0 && F_ISSET(infop, REGION_CREATE)) {
|
|
- if (F_ISSET(dbenv, DB_ENV_REGION_INIT))
|
|
+#ifdef HAVE_MLOCK
|
|
+ if (F_ISSET(env, ENV_LOCKDOWN))
|
|
+ rp->size = rp->max;
|
|
+#endif
|
|
+#if defined(__aarch64__)
|
|
+ rp->size = rp->max;
|
|
+#endif
|
|
+ if (F_ISSET(dbenv, DB_ENV_REGION_INIT))
|
|
ret = __db_file_write(env, infop->fhp,
|
|
rp->size / MEGABYTE, rp->size % MEGABYTE, 0x00);
|
|
else
|