mdbx: rework checking MAX_PAGENO and DB upper-size limit.

Related to https://github.com/erthink/libmdbx/issues/260.
This commit is contained in:
Leonid Yuriev
2022-01-21 02:14:36 +03:00
parent 50b843ecb7
commit cd2c5f594c
4 changed files with 70 additions and 52 deletions

View File

@@ -1344,11 +1344,11 @@ int main(int argc, char *argv[]) {
print(" ! backed-pages %" PRIu64 " < %u\n", backed_pages, NUM_METAS);
if (backed_pages < NUM_METAS || dxbfile_pages < NUM_METAS)
goto bailout;
if (backed_pages > MAX_PAGENO) {
if (backed_pages > MAX_PAGENO + 1) {
print(" ! backed-pages %" PRIu64 " > max-pages %" PRIaPGNO "\n",
backed_pages, MAX_PAGENO);
backed_pages, MAX_PAGENO + 1);
++problems_meta;
backed_pages = MAX_PAGENO;
backed_pages = MAX_PAGENO + 1;
}
if ((envflags & (MDBX_EXCLUSIVE | MDBX_RDONLY)) != MDBX_RDONLY) {