Author: Filip Januš 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