diff --git a/0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch b/0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch deleted file mode 100644 index 14b5d59..0000000 --- a/0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 5e51a5b9f41880cac3d1bf621630de80e15de224 Mon Sep 17 00:00:00 2001 -From: Howard Chu -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 d9e7c5e1e..77c6ecd89 100644 ---- a/libraries/liblmdb/mdb.c -+++ b/libraries/liblmdb/mdb.c -@@ -3094,10 +3094,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; - } --- -2.19.0 - diff --git a/LMDB_0.9.22.tar.gz b/LMDB_0.9.22.tar.gz deleted file mode 100644 index 893da70..0000000 --- a/LMDB_0.9.22.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f3927859882eb608868c8c31586bb7eb84562a40a6bf5cc3e13b6b564641ea28 -size 143468 diff --git a/LMDB_0.9.23.tar.gz b/LMDB_0.9.23.tar.gz new file mode 100644 index 0000000..d313b95 --- /dev/null +++ b/LMDB_0.9.23.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abf42e91f046787ed642d9eb21812a5c473f3ba5854124484d16eadbe0aa9c81 +size 143813 diff --git a/baselibs.conf b/baselibs.conf index fdbd37d..602f4ce 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1 +1 @@ -liblmdb-0_9_22 +liblmdb-0_9_23 diff --git a/lmdb.changes b/lmdb.changes index 4273c0a..1649d9e 100644 --- a/lmdb.changes +++ b/lmdb.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Mon Mar 25 21:10:07 UTC 2019 - Stefan Brüns + +- LMDB 0.9.23 Release (2018/12/19) + * ITS#8756 Fix loose pages in dirty list + * ITS#8831 Fix mdb_load flag init + * ITS#8844 Fix mdb_env_close in forked process + * Documentation + + ITS#8857 mdb_cursor_del doesn't invalidate cursor + + ITS#8908 GET_MULTIPLE etc don't change passed in key +- Drop upstream 0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch +- Cleanup: + * Use %license, drop %defattr + * Use https for Url tag + ------------------------------------------------------------------- Sat Oct 6 14:18:37 UTC 2018 - Stefan Brüns diff --git a/lmdb.spec b/lmdb.spec index 9a4c0a6..1d13b79 100644 --- a/lmdb.spec +++ b/lmdb.spec @@ -1,7 +1,7 @@ # # spec file for package lmdb # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,10 +20,10 @@ Name: lmdb Summary: Lightning Memory-Mapped Database Manager License: OLDAP-2.8 Group: Productivity/Databases/Tools -%define lname liblmdb-0_9_22 -Version: 0.9.22 +%define lname liblmdb-0_9_23 +Version: 0.9.23 Release: 0 -Url: http://symas.com/mdb/ +Url: https://symas.com/mdb/ #Git-Clone: git://git.openldap.org/openldap mdb.master Source: https://github.com/LMDB/lmdb/archive/LMDB_%version.tar.gz @@ -35,8 +35,6 @@ Patch1: 0001-Add-extra-tools-and-CFEngine-modifications-for-LMDB.patch Patch2: liblmdb-implicit-decl.patch # PATCH-FIX-OPENSUSE - Build and link to shared library Patch3: Makefile-build-use-shared-lib.patch -# PATCH-FIX-UPSTREAM - Fix crash due to failed assertion, freed pages ended up on the dirty page list twice -Patch4: 0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?rhel_version} == 700 @@ -80,7 +78,7 @@ structure is multi-versioned, and data pages use a copy-on-write strategy, which also provides resistance to corruption and eliminates the need for any recovery procedures. The database is exposed in a memory map, requiring no page cache layer of its own. - + This package contains the files needed to compile programs that use the liblmdb library. @@ -89,7 +87,6 @@ the liblmdb library. %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 %build cd libraries/liblmdb @@ -109,19 +106,16 @@ ln -s %{_libdir}/liblmdb-%{version}.so %{buildroot}%{_libdir}/liblmdb.so %postun -n %lname -p /sbin/ldconfig %files -%defattr(-,root,root) %doc libraries/liblmdb/CHANGES %doc libraries/liblmdb/COPYRIGHT -%doc libraries/liblmdb/LICENSE +%license libraries/liblmdb/LICENSE %{_bindir}/* %doc %{_mandir}/man1/*.1.gz %files -n %lname -%defattr(-,root,root) %_libdir/liblmdb-%version.so %files devel -%defattr(-,root,root) %_includedir/* %_libdir/liblmdb.so