mdbx: merge branch 'refine' into devel.

Change-Id: I3f6a787c66b4e7fca3c43d72e4b4083782cc94c4
This commit is contained in:
Leonid Yuriev 2019-12-31 19:39:22 +03:00
commit 66f3c0a77e
2 changed files with 8 additions and 7 deletions

View File

@ -4073,7 +4073,7 @@ skip_cache:
goto fail; goto fail;
if (flags & MDBX_LIFORECLAIM) { if (flags & MDBX_LIFORECLAIM) {
/* Begin from oldest reader if any */ /* Begin from oldest reader if any */
if (oldest > 2) { if (oldest > MIN_TXNID) {
last = oldest - 1; last = oldest - 1;
op = MDBX_SET_RANGE; op = MDBX_SET_RANGE;
} }
@ -7012,6 +7012,7 @@ int mdbx_txn_commit(MDBX_txn *txn) {
(txn->mt_flags & (MDBX_TXN_DIRTY | MDBX_TXN_SPILLS)) == 0) { (txn->mt_flags & (MDBX_TXN_DIRTY | MDBX_TXN_SPILLS)) == 0) {
for (int i = txn->mt_numdbs; --i >= 0;) for (int i = txn->mt_numdbs; --i >= 0;)
mdbx_tassert(txn, (txn->mt_dbflags[i] & DB_DIRTY) == 0); mdbx_tassert(txn, (txn->mt_dbflags[i] & DB_DIRTY) == 0);
rc = MDBX_SUCCESS;
goto done; goto done;
} }
@ -11014,9 +11015,9 @@ int mdbx_cursor_put(MDBX_cursor *mc, MDBX_val *key, MDBX_val *data,
/* LY: add configurable threshold to keep reserve space */ /* LY: add configurable threshold to keep reserve space */
dpages) { dpages) {
if (!IS_DIRTY(omp) && (level || (env->me_flags & MDBX_WRITEMAP))) { if (!IS_DIRTY(omp) && (level || (env->me_flags & MDBX_WRITEMAP))) {
rc = mdbx_page_unspill(mc->mc_txn, omp, &omp); rc2 = mdbx_page_unspill(mc->mc_txn, omp, &omp);
if (unlikely(rc)) if (unlikely(rc2))
return rc; return rc2;
level = 0; /* dirty in this txn or clean */ level = 0; /* dirty in this txn or clean */
} }
/* Is it dirty? */ /* Is it dirty? */
@ -11183,8 +11184,8 @@ int mdbx_cursor_put(MDBX_cursor *mc, MDBX_val *key, MDBX_val *data,
nested_dupdb.md_entries = page_numkeys(fp); nested_dupdb.md_entries = page_numkeys(fp);
xdata.iov_len = sizeof(nested_dupdb); xdata.iov_len = sizeof(nested_dupdb);
xdata.iov_base = &nested_dupdb; xdata.iov_base = &nested_dupdb;
if ((rc = mdbx_page_alloc(mc, 1, &mp, MDBX_ALLOC_ALL))) if ((rc2 = mdbx_page_alloc(mc, 1, &mp, MDBX_ALLOC_ALL)))
return rc; return rc2;
mc->mc_db->md_leaf_pages += 1; mc->mc_db->md_leaf_pages += 1;
mdbx_cassert(mc, env->me_psize > olddata.iov_len); mdbx_cassert(mc, env->me_psize > olddata.iov_len);
offset = env->me_psize - (unsigned)olddata.iov_len; offset = env->me_psize - (unsigned)olddata.iov_len;

View File

@ -1588,7 +1588,7 @@ retry_mapview:;
switch (rc) { switch (rc) {
case EAGAIN: case EAGAIN:
case ENOMEM: 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; rc = MDBX_RESULT_TRUE;
} }
return rc; return rc;