Updated to 0.9.23
This commit is contained in:
parent
8008a8dff3
commit
d4276c518e
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,3 +8,4 @@
|
|||||||
/LMDB_0.9.20.tar.gz
|
/LMDB_0.9.20.tar.gz
|
||||||
/LMDB_0.9.21.tar.gz
|
/LMDB_0.9.21.tar.gz
|
||||||
/LMDB_0.9.22.tar.gz
|
/LMDB_0.9.22.tar.gz
|
||||||
|
/LMDB_0.9.23.tar.gz
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
From 1ffe472a080fcd3c7dab6e352848703ad7adbe14 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Howard Chu <hyc@openldap.org>
|
|
||||||
Date: Fri, 22 Jun 2018 16:30:13 +0100
|
|
||||||
Subject: [PATCH] ITS#8756 remove loose pg from dirty list in freelist_save
|
|
||||||
|
|
||||||
---
|
|
||||||
libraries/liblmdb/mdb.c | 33 ++++++++++++++++++++++++++++++++-
|
|
||||||
1 file changed, 32 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
|
|
||||||
index a487e156..63872c92 100644
|
|
||||||
--- a/libraries/liblmdb/mdb.c
|
|
||||||
+++ b/libraries/liblmdb/mdb.c
|
|
||||||
@@ -3444,10 +3444,41 @@ mdb_freelist_save(MDB_txn *txn)
|
|
||||||
* we may be unable to return them to me_pghead.
|
|
||||||
*/
|
|
||||||
MDB_page *mp = txn->mt_loose_pgs;
|
|
||||||
+ MDB_ID2 *dl = txn->mt_u.dirty_list;
|
|
||||||
+ unsigned x;
|
|
||||||
if ((rc = mdb_midl_need(&txn->mt_free_pgs, txn->mt_loose_count)) != 0)
|
|
||||||
return rc;
|
|
||||||
- for (; mp; mp = NEXT_LOOSE_PAGE(mp))
|
|
||||||
+ for (; mp; mp = NEXT_LOOSE_PAGE(mp)) {
|
|
||||||
mdb_midl_xappend(txn->mt_free_pgs, mp->mp_pgno);
|
|
||||||
+ /* must also remove from dirty list */
|
|
||||||
+ if (txn->mt_flags & MDB_TXN_WRITEMAP) {
|
|
||||||
+ for (x=1; x<=dl[0].mid; x++)
|
|
||||||
+ if (dl[x].mid == mp->mp_pgno)
|
|
||||||
+ break;
|
|
||||||
+ mdb_tassert(txn, x <= dl[0].mid);
|
|
||||||
+ } else {
|
|
||||||
+ x = mdb_mid2l_search(dl, mp->mp_pgno);
|
|
||||||
+ mdb_tassert(txn, dl[x].mid == mp->mp_pgno);
|
|
||||||
+ }
|
|
||||||
+ dl[x].mptr = NULL;
|
|
||||||
+ mdb_dpage_free(env, mp);
|
|
||||||
+ }
|
|
||||||
+ {
|
|
||||||
+ /* squash freed slots out of the dirty list */
|
|
||||||
+ unsigned y;
|
|
||||||
+ for (y=1; dl[y].mptr && y <= dl[0].mid; y++);
|
|
||||||
+ if (y <= dl[0].mid) {
|
|
||||||
+ for(x=y, y++;;) {
|
|
||||||
+ while (!dl[y].mptr && y <= dl[0].mid) y++;
|
|
||||||
+ if (y > dl[0].mid) break;
|
|
||||||
+ dl[x++] = dl[y++];
|
|
||||||
+ }
|
|
||||||
+ dl[0].mid = x-1;
|
|
||||||
+ } else {
|
|
||||||
+ /* all slots freed */
|
|
||||||
+ dl[0].mid = 0;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
txn->mt_loose_pgs = NULL;
|
|
||||||
txn->mt_loose_count = 0;
|
|
||||||
}
|
|
12
lmdb.spec
12
lmdb.spec
@ -2,8 +2,8 @@
|
|||||||
%global archive_path libraries/lib%{name}
|
%global archive_path libraries/lib%{name}
|
||||||
|
|
||||||
Name: lmdb
|
Name: lmdb
|
||||||
Version: 0.9.22
|
Version: 0.9.23
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Memory-mapped key-value database
|
Summary: Memory-mapped key-value database
|
||||||
|
|
||||||
License: OpenLDAP
|
License: OpenLDAP
|
||||||
@ -14,9 +14,6 @@ Source1: lmdb.pc.in
|
|||||||
Patch0: lmdb-make.patch
|
Patch0: lmdb-make.patch
|
||||||
Patch1: lmdb-s390-check.patch
|
Patch1: lmdb-s390-check.patch
|
||||||
|
|
||||||
# Upstream fix for rhbz#1645114
|
|
||||||
Patch2: fix-remove-loose-pg-from-dirty-list.patch
|
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
@ -57,8 +54,6 @@ The %{name}-doc package contains automatically generated documentation for %{nam
|
|||||||
%patch0 -p1 -b .make
|
%patch0 -p1 -b .make
|
||||||
%patch1 -p1 -b .s390-check
|
%patch1 -p1 -b .s390-check
|
||||||
|
|
||||||
%patch2 -p1 -b .page_dirty
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
pushd %{archive_path}
|
pushd %{archive_path}
|
||||||
@ -126,6 +121,9 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 09 2019 Tomas Krizek <tomas.krizek@nic.cz> - 0.9.23-1
|
||||||
|
- Updated to 0.9.23
|
||||||
|
|
||||||
* Mon Nov 05 2018 Jan Staněk <jstanek@redhat.com> - 0.9.22-4
|
* Mon Nov 05 2018 Jan Staněk <jstanek@redhat.com> - 0.9.22-4
|
||||||
- Import upstream fix for rhbz#1645114
|
- Import upstream fix for rhbz#1645114
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (LMDB_0.9.22.tar.gz) = 49afca13b9683ed571c274380bb5e111236903b12d19bcb8781d6bbc00f711766b0d62de0b36536c85309cc9ff9e9d0aaa708e27bae9be6cfcaed8ba91e5545d
|
SHA512 (LMDB_0.9.23.tar.gz) = 47466a96ce288d18d489acf1abf811aa973649848a4cac31f71e1f25ea781a055ebd6616d2d630214b2df2f146f12609c82d65be0196f49d6b46a6c96464e120
|
||||||
|
Loading…
Reference in New Issue
Block a user