From c80a5cabd69ad67beb1050fd27f0356f1b76648b Mon Sep 17 00:00:00 2001
From: Leo Yuriev <leo@yuriev.ru>
Date: Fri, 20 Sep 2019 20:44:35 +0300
Subject: [PATCH] mdbx: internal rename `befree` to `retired`.

Change-Id: Ic72449fe242df0f0f88b671e56570e00b5e6202f
---
 src/elements/core.c      | 130 +++++++++++++++++++--------------------
 src/elements/internals.h |   4 +-
 2 files changed, 67 insertions(+), 67 deletions(-)

diff --git a/src/elements/core.c b/src/elements/core.c
index 1b59b480..80d85b28 100644
--- a/src/elements/core.c
+++ b/src/elements/core.c
@@ -1897,7 +1897,7 @@ static __inline MDBX_db *mdbx_outer_db(MDBX_cursor *mc) {
   return couple->outer.mc_db;
 }
 
-static int mdbx_page_befree(MDBX_cursor *mc, MDBX_page *mp) {
+static int mdbx_page_retire(MDBX_cursor *mc, MDBX_page *mp) {
   MDBX_txn *txn = mc->mc_txn;
 
   mdbx_cassert(mc, (mc->mc_flags & C_SUB) == 0);
@@ -1908,11 +1908,11 @@ static int mdbx_page_befree(MDBX_cursor *mc, MDBX_page *mp) {
   } else {
     mdbx_cassert(mc, IS_OVERFLOW(mp));
     mc->mc_db->md_overflow_pages -= mp->mp_pages;
-    return mdbx_pnl_append_range(&txn->mt_befree_pages, mp->mp_pgno,
+    return mdbx_pnl_append_range(&txn->mt_retired_pages, mp->mp_pgno,
                                  mp->mp_pages);
   }
 
-  return mdbx_pnl_append(&txn->mt_befree_pages, mp->mp_pgno);
+  return mdbx_pnl_append(&txn->mt_retired_pages, mp->mp_pgno);
 }
 
 /* Loosen or free a single page.
@@ -1987,7 +1987,7 @@ static int mdbx_page_loose(MDBX_cursor *mc, MDBX_page *mp) {
     txn->mt_loose_pages = mp;
     txn->mt_loose_count++;
   } else {
-    int rc = mdbx_pnl_append(&txn->mt_befree_pages, pgno);
+    int rc = mdbx_pnl_append(&txn->mt_retired_pages, pgno);
     mdbx_tassert(txn, rc == MDBX_SUCCESS);
     if (unlikely(rc != MDBX_SUCCESS))
       return rc;
@@ -2615,7 +2615,7 @@ static int mdbx_page_alloc(MDBX_cursor *mc, unsigned num, MDBX_page **mp,
   if (likely(flags & MDBX_ALLOC_GC)) {
     flags |= env->me_flags & (MDBX_COALESCE | MDBX_LIFORECLAIM);
     if (unlikely(mc->mc_flags & C_RECLAIMING)) {
-      /* If mc is updating the GC, then the befree-list cannot play
+      /* If mc is updating the GC, then the retired-list cannot play
        * catch-up with itself by growing while trying to save it. */
       flags &=
           ~(MDBX_ALLOC_GC | MDBX_ALLOC_KICK | MDBX_COALESCE | MDBX_LIFORECLAIM);
@@ -3120,14 +3120,14 @@ __hot static int mdbx_page_touch(MDBX_cursor *mc) {
         goto done;
     }
 
-    if (unlikely((rc = mdbx_pnl_need(&txn->mt_befree_pages, 1)) ||
+    if (unlikely((rc = mdbx_pnl_need(&txn->mt_retired_pages, 1)) ||
                  (rc = mdbx_page_alloc(mc, 1, &np, MDBX_ALLOC_ALL))))
       goto fail;
     pgno = np->mp_pgno;
     mdbx_debug("touched db %d page %" PRIaPGNO " -> %" PRIaPGNO, DDBI(mc),
                mp->mp_pgno, pgno);
     mdbx_cassert(mc, mp->mp_pgno != pgno);
-    mdbx_pnl_xappend(txn->mt_befree_pages, mp->mp_pgno);
+    mdbx_pnl_xappend(txn->mt_retired_pages, mp->mp_pgno);
     /* Update the parent page, if any, to point to the new page */
     if (mc->mc_top) {
       MDBX_page *parent = mc->mc_pg[mc->mc_top - 1];
@@ -3583,8 +3583,8 @@ static int mdbx_txn_renew0(MDBX_txn *txn, unsigned flags) {
     txn->mt_dirtyroom = MDBX_DPL_TXNFULL;
     txn->mt_rw_dirtylist = env->me_dirtylist;
     txn->mt_rw_dirtylist->length = 0;
-    txn->mt_befree_pages = env->me_free_pgs;
-    MDBX_PNL_SIZE(txn->mt_befree_pages) = 0;
+    txn->mt_retired_pages = env->me_retired_pages;
+    MDBX_PNL_SIZE(txn->mt_retired_pages) = 0;
     txn->mt_spill_pages = NULL;
     if (txn->mt_lifo_reclaimed)
       MDBX_PNL_SIZE(txn->mt_lifo_reclaimed) = 0;
@@ -3796,7 +3796,7 @@ int mdbx_txn_begin(MDBX_env *env, MDBX_txn *parent, unsigned flags,
     txn->mt_rw_dirtylist =
         mdbx_malloc(sizeof(MDBX_DP) * (MDBX_DPL_TXNFULL + 1));
     if (!txn->mt_rw_dirtylist ||
-        !(txn->mt_befree_pages = mdbx_pnl_alloc(MDBX_PNL_INITIAL))) {
+        !(txn->mt_retired_pages = mdbx_pnl_alloc(MDBX_PNL_INITIAL))) {
       mdbx_free(txn->mt_rw_dirtylist);
       mdbx_free(txn);
       return MDBX_ENOMEM;
@@ -3987,8 +3987,8 @@ static int mdbx_txn_end(MDBX_txn *txn, unsigned mode) {
     txn->mt_owner = 0;
 
     if (!txn->mt_parent) {
-      mdbx_pnl_shrink(&txn->mt_befree_pages);
-      env->me_free_pgs = txn->mt_befree_pages;
+      mdbx_pnl_shrink(&txn->mt_retired_pages);
+      env->me_retired_pages = txn->mt_retired_pages;
       /* me_pgstate: */
       env->me_reclaimed_pglist = NULL;
       env->me_last_reclaimed = 0;
@@ -4001,7 +4001,7 @@ static int mdbx_txn_end(MDBX_txn *txn, unsigned mode) {
       txn->mt_parent->mt_child = NULL;
       txn->mt_parent->mt_flags &= ~MDBX_TXN_HAS_CHILD;
       env->me_pgstate = ((MDBX_ntxn *)txn)->mnt_pgstate;
-      mdbx_pnl_free(txn->mt_befree_pages);
+      mdbx_pnl_free(txn->mt_retired_pages);
       mdbx_pnl_free(txn->mt_spill_pages);
       mdbx_free(txn->mt_rw_dirtylist);
     }
@@ -4073,7 +4073,7 @@ static int mdbx_prep_backlog(MDBX_txn *txn, MDBX_cursor *mc) {
   /* LY: extra page(s) for b-tree rebalancing */
   const int extra =
       mdbx_backlog_extragap(txn->mt_env) +
-      MDBX_PNL_SIZEOF(txn->mt_befree_pages) / txn->mt_env->me_maxkey_limit;
+      MDBX_PNL_SIZEOF(txn->mt_retired_pages) / txn->mt_env->me_maxkey_limit;
 
   if (mdbx_backlog_size(txn) < mc->mc_db->md_depth + extra) {
     mc->mc_flags &= ~C_RECLAIMING;
@@ -4112,7 +4112,7 @@ static void mdbx_prep_backlog_data(MDBX_txn *txn, MDBX_cursor *mc,
 /* Count all the pages in each DB and in the freelist and make sure
  * it matches the actual number of pages being used.
  * All named DBs must be open for a correct count. */
-static __cold int mdbx_audit(MDBX_txn *txn, unsigned befree_stored) {
+static __cold int mdbx_audit(MDBX_txn *txn, unsigned retired_stored) {
   MDBX_val key, data;
 
   const pgno_t pending =
@@ -4122,8 +4122,8 @@ static __cold int mdbx_audit(MDBX_txn *txn, unsigned befree_stored) {
                 (txn->mt_env->me_reclaimed_pglist
                      ? MDBX_PNL_SIZE(txn->mt_env->me_reclaimed_pglist)
                      : 0) +
-                (txn->mt_befree_pages
-                     ? MDBX_PNL_SIZE(txn->mt_befree_pages) - befree_stored
+                (txn->mt_retired_pages
+                     ? MDBX_PNL_SIZE(txn->mt_retired_pages) - retired_stored
                      : 0);
 
   MDBX_cursor_couple cx;
@@ -4182,13 +4182,13 @@ static __cold int mdbx_audit(MDBX_txn *txn, unsigned befree_stored) {
 
   if ((txn->mt_flags & MDBX_RDONLY) == 0)
     mdbx_error("audit @%" PRIaTXN ": %u(pending) = %u(loose-count) + "
-               "%u(reclaimed-list) + %u(befree-pending) - %u(befree-stored)",
+               "%u(reclaimed-list) + %u(retired-pending) - %u(retired-stored)",
                txn->mt_txnid, pending, txn->mt_loose_count,
                txn->mt_env->me_reclaimed_pglist
                    ? MDBX_PNL_SIZE(txn->mt_env->me_reclaimed_pglist)
                    : 0,
-               txn->mt_befree_pages ? MDBX_PNL_SIZE(txn->mt_befree_pages) : 0,
-               befree_stored);
+               txn->mt_retired_pages ? MDBX_PNL_SIZE(txn->mt_retired_pages) : 0,
+               retired_stored);
   mdbx_error("audit @%" PRIaTXN ": %" PRIaPGNO "(pending) + %" PRIaPGNO
              "(free) + %" PRIaPGNO "(count) = %" PRIaPGNO
              "(total) <> %" PRIaPGNO "(next-pgno)",
@@ -4207,20 +4207,20 @@ static __inline void clean_reserved_rc_pnl(MDBX_env *env, MDBX_val pnl) {
     memset(pnl.iov_base, 0, pnl.iov_len);
 }
 
-/* Cleanup reclaimed GC records, than save the befree-list as of this
+/* Cleanup reclaimed GC records, than save the retired-list as of this
  * transaction to GC (aka freeDB). This recursive changes the reclaimed-list
- * loose-list and befree-list. Keep trying until it stabilizes. */
+ * loose-list and retired-list. Keep trying until it stabilizes. */
 static int mdbx_update_gc(MDBX_txn *txn) {
   /* env->me_reclaimed_pglist[] can grow and shrink during this call.
-   * env->me_last_reclaimed and txn->mt_befree_pages[] can only grow.
-   * Page numbers cannot disappear from txn->mt_befree_pages[]. */
+   * env->me_last_reclaimed and txn->mt_retired_pages[] can only grow.
+   * Page numbers cannot disappear from txn->mt_retired_pages[]. */
   MDBX_env *const env = txn->mt_env;
   const bool lifo = (env->me_flags & MDBX_LIFORECLAIM) != 0;
   const char *dbg_prefix_mode = lifo ? "    lifo" : "    fifo";
   (void)dbg_prefix_mode;
   mdbx_trace("\n>>> @%" PRIaTXN, txn->mt_txnid);
 
-  unsigned befree_stored = 0, loop = 0;
+  unsigned retired_stored = 0, loop = 0;
   MDBX_cursor mc;
   int rc = mdbx_cursor_init(&mc, txn, FREE_DBI);
   if (unlikely(rc != MDBX_SUCCESS))
@@ -4243,7 +4243,7 @@ retry:
            filled_gc_slot = ~0u;
   txnid_t cleaned_gc_id = 0, head_gc_id = env->me_last_reclaimed;
   while (1) {
-    /* Come back here after each Put() in case befree-list changed */
+    /* Come back here after each Put() in case retired-list changed */
     MDBX_val key, data;
     mdbx_trace(" >> continue");
 
@@ -4301,10 +4301,10 @@ retry:
       }
     }
 
-    // handle loose pages - put ones into the reclaimed- or befree-list
+    // handle loose pages - put ones into the reclaimed- or retired-list
     mdbx_tassert(txn, mdbx_pnl_check(env->me_reclaimed_pglist, true));
     if (mdbx_audit_enabled()) {
-      rc = mdbx_audit(txn, befree_stored);
+      rc = mdbx_audit(txn, retired_stored);
       if (unlikely(rc != MDBX_SUCCESS))
         goto bailout;
     }
@@ -4314,15 +4314,15 @@ retry:
        * The pages themselves remain in dirtylist. */
       if (unlikely(!env->me_reclaimed_pglist) && !txn->mt_lifo_reclaimed &&
           env->me_last_reclaimed < 1) {
-        /* Put loose page numbers in mt_befree_pages,
+        /* Put loose page numbers in mt_retired_pages,
          * since unable to return them to me_reclaimed_pglist. */
-        if (unlikely((rc = mdbx_pnl_need(&txn->mt_befree_pages,
+        if (unlikely((rc = mdbx_pnl_need(&txn->mt_retired_pages,
                                          txn->mt_loose_count)) != 0))
           goto bailout;
         for (MDBX_page *mp = txn->mt_loose_pages; mp; mp = NEXT_LOOSE_PAGE(mp))
-          mdbx_pnl_xappend(txn->mt_befree_pages, mp->mp_pgno);
-        mdbx_trace("%s: append %u loose-pages to befree-pages", dbg_prefix_mode,
-                   txn->mt_loose_count);
+          mdbx_pnl_xappend(txn->mt_retired_pages, mp->mp_pgno);
+        mdbx_trace("%s: append %u loose-pages to retired-pages",
+                   dbg_prefix_mode, txn->mt_loose_count);
       } else {
         /* Room for loose pages + temp PNL with same */
         if (likely(env->me_reclaimed_pglist != NULL)) {
@@ -4398,7 +4398,7 @@ retry:
       txn->mt_loose_pages = NULL;
       txn->mt_loose_count = 0;
       if (mdbx_audit_enabled()) {
-        rc = mdbx_audit(txn, befree_stored);
+        rc = mdbx_audit(txn, retired_stored);
         if (unlikely(rc != MDBX_SUCCESS))
           goto bailout;
       }
@@ -4436,17 +4436,17 @@ retry:
         txn->mt_next_pgno = tail;
         mdbx_tassert(txn, mdbx_pnl_check(env->me_reclaimed_pglist, true));
         if (mdbx_audit_enabled()) {
-          rc = mdbx_audit(txn, befree_stored);
+          rc = mdbx_audit(txn, retired_stored);
           if (unlikely(rc != MDBX_SUCCESS))
             goto bailout;
         }
       }
     }
 
-    // handle befree-list - store ones into singe gc-record
-    if (befree_stored < MDBX_PNL_SIZE(txn->mt_befree_pages)) {
-      if (unlikely(!befree_stored)) {
-        /* Make sure last page of GC is touched and on befree-list */
+    // handle retired-list - store ones into singe gc-record
+    if (retired_stored < MDBX_PNL_SIZE(txn->mt_retired_pages)) {
+      if (unlikely(!retired_stored)) {
+        /* Make sure last page of GC is touched and on retired-list */
         mc.mc_flags &= ~C_RECLAIMING;
         rc = mdbx_page_search(&mc, NULL, MDBX_PS_LAST | MDBX_PS_MODIFY);
         mc.mc_flags |= C_RECLAIMING;
@@ -4457,29 +4457,29 @@ retry:
       key.iov_len = sizeof(txn->mt_txnid);
       key.iov_base = &txn->mt_txnid;
       do {
-        data.iov_len = MDBX_PNL_SIZEOF(txn->mt_befree_pages);
+        data.iov_len = MDBX_PNL_SIZEOF(txn->mt_retired_pages);
         mdbx_prep_backlog_data(txn, &mc, data.iov_len);
         rc = mdbx_cursor_put(&mc, &key, &data, MDBX_RESERVE);
         if (unlikely(rc != MDBX_SUCCESS))
           goto bailout;
-        /* Retry if mt_befree_pages[] grew during the Put() */
-      } while (data.iov_len < MDBX_PNL_SIZEOF(txn->mt_befree_pages));
+        /* Retry if mt_retired_pages[] grew during the Put() */
+      } while (data.iov_len < MDBX_PNL_SIZEOF(txn->mt_retired_pages));
 
-      befree_stored = (unsigned)MDBX_PNL_SIZE(txn->mt_befree_pages);
-      mdbx_pnl_sort(txn->mt_befree_pages);
-      mdbx_assert(env, data.iov_len == MDBX_PNL_SIZEOF(txn->mt_befree_pages));
-      memcpy(data.iov_base, txn->mt_befree_pages, data.iov_len);
+      retired_stored = (unsigned)MDBX_PNL_SIZE(txn->mt_retired_pages);
+      mdbx_pnl_sort(txn->mt_retired_pages);
+      mdbx_assert(env, data.iov_len == MDBX_PNL_SIZEOF(txn->mt_retired_pages));
+      memcpy(data.iov_base, txn->mt_retired_pages, data.iov_len);
 
-      mdbx_trace("%s.put-befree #%u @ %" PRIaTXN, dbg_prefix_mode,
-                 befree_stored, txn->mt_txnid);
+      mdbx_trace("%s.put-retired #%u @ %" PRIaTXN, dbg_prefix_mode,
+                 retired_stored, txn->mt_txnid);
 
       if (mdbx_debug_enabled(MDBX_DBG_EXTRA)) {
-        unsigned i = befree_stored;
+        unsigned i = retired_stored;
         mdbx_debug_extra("PNL write txn %" PRIaTXN " root %" PRIaPGNO
                          " num %u, PNL",
                          txn->mt_txnid, txn->mt_dbs[FREE_DBI].md_root, i);
         for (; i; i--)
-          mdbx_debug_extra_print(" %" PRIaPGNO, txn->mt_befree_pages[i]);
+          mdbx_debug_extra_print(" %" PRIaPGNO, txn->mt_retired_pages[i]);
         mdbx_debug_extra_print("\n");
       }
       continue;
@@ -4491,7 +4491,7 @@ retry:
 
     mdbx_trace(" >> reserving");
     if (mdbx_audit_enabled()) {
-      rc = mdbx_audit(txn, befree_stored);
+      rc = mdbx_audit(txn, retired_stored);
       if (unlikely(rc != MDBX_SUCCESS))
         goto bailout;
     }
@@ -4807,7 +4807,7 @@ retry:
 
       left -= chunk;
       if (mdbx_audit_enabled()) {
-        rc = mdbx_audit(txn, befree_stored + amount - left);
+        rc = mdbx_audit(txn, retired_stored + amount - left);
         if (unlikely(rc != MDBX_SUCCESS))
           goto bailout;
       }
@@ -5063,10 +5063,10 @@ int mdbx_txn_commit(MDBX_txn *txn) {
     }
 
     /* Append our free list to parent's */
-    rc = mdbx_pnl_append_list(&parent->mt_befree_pages, txn->mt_befree_pages);
+    rc = mdbx_pnl_append_list(&parent->mt_retired_pages, txn->mt_retired_pages);
     if (unlikely(rc != MDBX_SUCCESS))
       goto fail;
-    mdbx_pnl_free(txn->mt_befree_pages);
+    mdbx_pnl_free(txn->mt_retired_pages);
     /* Failures after this must either undo the changes
      * to the parent or set MDBX_TXN_ERROR in the parent. */
 
@@ -5237,7 +5237,7 @@ int mdbx_txn_commit(MDBX_txn *txn) {
 
   mdbx_pnl_free(env->me_reclaimed_pglist);
   env->me_reclaimed_pglist = NULL;
-  mdbx_pnl_shrink(&txn->mt_befree_pages);
+  mdbx_pnl_shrink(&txn->mt_retired_pages);
 
   if (mdbx_audit_enabled()) {
     rc = mdbx_audit(txn, 0);
@@ -7025,7 +7025,7 @@ int __cold mdbx_env_open(MDBX_env *env, const char *path, unsigned flags,
     flags &= ~(MDBX_WRITEMAP | MDBX_MAPASYNC | MDBX_NOSYNC | MDBX_NOMETASYNC |
                MDBX_COALESCE | MDBX_LIFORECLAIM | MDBX_NOMEMINIT);
   } else {
-    if (!((env->me_free_pgs = mdbx_pnl_alloc(MDBX_PNL_INITIAL)) &&
+    if (!((env->me_retired_pages = mdbx_pnl_alloc(MDBX_PNL_INITIAL)) &&
           (env->me_dirtylist =
                mdbx_calloc(MDBX_DPL_TXNFULL + 1, sizeof(MDBX_DP)))))
       rc = MDBX_ENOMEM;
@@ -7208,7 +7208,7 @@ static int __cold mdbx_env_close0(MDBX_env *env) {
     mdbx_txl_free(env->me_txn0->mt_lifo_reclaimed);
     mdbx_free(env->me_txn0);
   }
-  mdbx_pnl_free(env->me_free_pgs);
+  mdbx_pnl_free(env->me_retired_pages);
 
   if (env->me_flags & MDBX_ENV_TXKEY)
     mdbx_rthc_remove(env->me_txkey);
@@ -7945,7 +7945,7 @@ static int mdbx_ovpage_free(MDBX_cursor *mc, MDBX_page *mp) {
       mop[j--] = MDBX_PNL_ASCENDING ? --n : n++;
     mdbx_tassert(txn, mdbx_pnl_check(env->me_reclaimed_pglist, true));
   } else {
-    rc = mdbx_pnl_append_range(&txn->mt_befree_pages, pg, ovpages);
+    rc = mdbx_pnl_append_range(&txn->mt_retired_pages, pg, ovpages);
     if (unlikely(rc))
       return rc;
   }
@@ -10921,7 +10921,7 @@ static int mdbx_rebalance(MDBX_cursor *mc) {
       mc->mc_db->md_leaf_pages = 0;
       if (mc->mc_flags & C_SUB)
         mdbx_outer_db(mc)->md_leaf_pages -= 1;
-      rc = mdbx_pnl_append(&mc->mc_txn->mt_befree_pages, mp->mp_pgno);
+      rc = mdbx_pnl_append(&mc->mc_txn->mt_retired_pages, mp->mp_pgno);
       if (unlikely(rc != MDBX_SUCCESS))
         return rc;
       /* Adjust cursors pointing to mp */
@@ -10943,7 +10943,7 @@ static int mdbx_rebalance(MDBX_cursor *mc) {
       mc->mc_flags &= ~C_INITIALIZED;
     } else if (IS_BRANCH(mp) && nkeys == 1) {
       mdbx_debug("collapsing root page!");
-      rc = mdbx_pnl_append(&mc->mc_txn->mt_befree_pages, mp->mp_pgno);
+      rc = mdbx_pnl_append(&mc->mc_txn->mt_retired_pages, mp->mp_pgno);
       if (unlikely(rc))
         return rc;
       mc->mc_db->md_root = NODEPGNO(NODEPTR(mp, 0));
@@ -13101,7 +13101,7 @@ static int mdbx_drop0(MDBX_cursor *mc, int subs) {
             if (unlikely(rc))
               goto done;
             mdbx_cassert(mc, IS_OVERFLOW(omp));
-            rc = mdbx_page_befree(mc, omp);
+            rc = mdbx_page_retire(mc, omp);
             if (unlikely(rc))
               goto done;
             if (!mc->mc_db->md_overflow_pages && !subs)
@@ -13118,14 +13118,14 @@ static int mdbx_drop0(MDBX_cursor *mc, int subs) {
         if (!subs && !mc->mc_db->md_overflow_pages)
           goto pop;
       } else {
-        if (unlikely((rc = mdbx_pnl_need(&txn->mt_befree_pages, n)) != 0))
+        if (unlikely((rc = mdbx_pnl_need(&txn->mt_retired_pages, n)) != 0))
           goto done;
         for (i = 0; i < n; i++) {
           pgno_t pg;
           ni = NODEPTR(mp, i);
           pg = NODEPGNO(ni);
           /* free it */
-          mdbx_pnl_xappend(txn->mt_befree_pages, pg);
+          mdbx_pnl_xappend(txn->mt_retired_pages, pg);
         }
       }
       if (!mc->mc_top)
@@ -13148,7 +13148,7 @@ static int mdbx_drop0(MDBX_cursor *mc, int subs) {
       }
     }
     /* free it */
-    rc = mdbx_pnl_append(&txn->mt_befree_pages, mc->mc_db->md_root);
+    rc = mdbx_pnl_append(&txn->mt_retired_pages, mc->mc_db->md_root);
   done:
     if (unlikely(rc))
       txn->mt_flags |= MDBX_TXN_ERROR;
@@ -13674,7 +13674,7 @@ int mdbx_txn_straggler(MDBX_txn *txn, int *percent)
     }
   } while (unlikely(recent != mdbx_meta_txnid_fluid(env, meta)));
 
-  txnid_t lag = recent - txn->mt_ro_reader->mr_txnid;
+  txnid_t lag = recent - txn->mt_txnid;
   return (lag > INT_MAX) ? INT_MAX : (int)lag;
 }
 
diff --git a/src/elements/internals.h b/src/elements/internals.h
index af074287..0941e23c 100644
--- a/src/elements/internals.h
+++ b/src/elements/internals.h
@@ -710,7 +710,7 @@ struct MDBX_txn {
                     /* The list of reclaimed txns from freeDB */
   MDBX_TXL mt_lifo_reclaimed;
   /* The list of pages that became unused during this transaction. */
-  MDBX_PNL mt_befree_pages;
+  MDBX_PNL mt_retired_pages;
   /* The list of loose pages that became unused and may be reused
    * in this transaction, linked through NEXT_LOOSE_PAGE(page). */
   MDBX_page *mt_loose_pages;
@@ -896,7 +896,7 @@ struct MDBX_env {
 #define me_reclaimed_pglist me_pgstate.mf_reclaimed_pglist
   MDBX_page *me_dpages; /* list of malloc'd blocks for re-use */
                         /* PNL of pages that became unused in a write txn */
-  MDBX_PNL me_free_pgs;
+  MDBX_PNL me_retired_pages;
   /* MDBX_DP of pages written during a write txn. Length MDBX_DPL_TXNFULL. */
   MDBX_DPL me_dirtylist;
   /* Number of freelist items that can fit in a single overflow page */