From 03a68e87ba14f159bbe74017273b4469fcef9927 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Wed, 25 Dec 2019 12:36:05 +0300 Subject: [PATCH 1/4] mdbx: fix commit typo (minor). Change-Id: I3e6564eb9a1404c3aaffb7dd9143dc64e7d822af --- src/elements/osal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elements/osal.c b/src/elements/osal.c index d2c950b3..21910bb9 100644 --- a/src/elements/osal.c +++ b/src/elements/osal.c @@ -1584,7 +1584,7 @@ retry_mapview:; switch (rc) { case EAGAIN: case ENOMEM: - case EFAULT /* MADV_DODUMP / MADV_DONTDUMP are mixed for mmap-mange */: + case EFAULT /* MADV_DODUMP / MADV_DONTDUMP are mixed for mmap-range */: rc = MDBX_RESULT_TRUE; } return rc; From 36c7d7a43597c8c1c30551da9b322abee1cd2532 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Thu, 26 Dec 2019 20:18:32 +0300 Subject: [PATCH 2/4] mdbx: minor refine page_alloc (MIN_TXNID). Change-Id: Iac20f79280e5b464b39f7ac5b1efe01585c5bf02 --- src/elements/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elements/core.c b/src/elements/core.c index fd252e8f..0f96fac6 100644 --- a/src/elements/core.c +++ b/src/elements/core.c @@ -4073,7 +4073,7 @@ skip_cache: goto fail; if (flags & MDBX_LIFORECLAIM) { /* Begin from oldest reader if any */ - if (oldest > 2) { + if (oldest > MIN_TXNID) { last = oldest - 1; op = MDBX_SET_RANGE; } From 7d1eff5116d5bcdb59c53f65267203ab3ccec3a7 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Fri, 27 Dec 2019 15:01:15 +0300 Subject: [PATCH 3/4] mdbx: minor refine cursor_put(). Use `rc2` variable to simplify register(s) allocation. Change-Id: Ie47210a4b494e9aeaa8492830cfbcbbde02b485c --- src/elements/core.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/elements/core.c b/src/elements/core.c index 0f96fac6..48eb13bb 100644 --- a/src/elements/core.c +++ b/src/elements/core.c @@ -11011,9 +11011,9 @@ int mdbx_cursor_put(MDBX_cursor *mc, MDBX_val *key, MDBX_val *data, /* LY: add configurable threshold to keep reserve space */ dpages) { if (!IS_DIRTY(omp) && (level || (env->me_flags & MDBX_WRITEMAP))) { - rc = mdbx_page_unspill(mc->mc_txn, omp, &omp); - if (unlikely(rc)) - return rc; + rc2 = mdbx_page_unspill(mc->mc_txn, omp, &omp); + if (unlikely(rc2)) + return rc2; level = 0; /* dirty in this txn or clean */ } /* Is it dirty? */ @@ -11180,8 +11180,8 @@ int mdbx_cursor_put(MDBX_cursor *mc, MDBX_val *key, MDBX_val *data, nested_dupdb.md_entries = page_numkeys(fp); xdata.iov_len = sizeof(nested_dupdb); xdata.iov_base = &nested_dupdb; - if ((rc = mdbx_page_alloc(mc, 1, &mp, MDBX_ALLOC_ALL))) - return rc; + if ((rc2 = mdbx_page_alloc(mc, 1, &mp, MDBX_ALLOC_ALL))) + return rc2; mc->mc_db->md_leaf_pages += 1; mdbx_cassert(mc, env->me_psize > olddata.iov_len); offset = env->me_psize - (unsigned)olddata.iov_len; From 5eafc6e738f702f0ed8487ec2e20fa981096ad22 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Mon, 30 Dec 2019 17:19:53 +0300 Subject: [PATCH 4/4] mdbx: minor refine txn_commit(). Re-assign `rc` variable to release register from allocation. Change-Id: Ibafd70efd53591d3bf190417e1b2f3b20299e7d2 --- src/elements/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/elements/core.c b/src/elements/core.c index 48eb13bb..fe4c2ed5 100644 --- a/src/elements/core.c +++ b/src/elements/core.c @@ -7012,6 +7012,7 @@ int mdbx_txn_commit(MDBX_txn *txn) { (txn->mt_flags & (MDBX_TXN_DIRTY | MDBX_TXN_SPILLS)) == 0) { for (int i = txn->mt_numdbs; --i >= 0;) mdbx_tassert(txn, (txn->mt_dbflags[i] & DB_DIRTY) == 0); + rc = MDBX_SUCCESS; goto done; }