mdbx: don't reserve/backlog free-pages if retired-list was already put into gc.

This commit is contained in:
Leonid Yuriev 2021-12-25 15:25:25 +03:00
parent c3c088b8c3
commit b30ccbde9e

View File

@ -8768,10 +8768,12 @@ retry_noaccount:
goto bailout;
}
rc = mdbx_prep_backlog(txn, &couple.outer,
MDBX_PNL_SIZEOF(txn->tw.retired_pages));
if (unlikely(rc != MDBX_SUCCESS))
goto bailout;
if (retired_stored < MDBX_PNL_SIZE(txn->tw.retired_pages)) {
rc = mdbx_prep_backlog(txn, &couple.outer,
MDBX_PNL_SIZEOF(txn->tw.retired_pages));
if (unlikely(rc != MDBX_SUCCESS))
goto bailout;
}
unsigned settled = 0, cleaned_gc_slot = 0, reused_gc_slot = 0,
filled_gc_slot = ~0u;