Accepting request 688581 from systemsmanagement
OBS-URL: https://build.opensuse.org/request/show/688581 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lmdb?expand=0&rev=15
This commit is contained in:
commit
e614b802ba
@ -1,59 +0,0 @@
|
|||||||
From 5e51a5b9f41880cac3d1bf621630de80e15de224 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 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
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:f3927859882eb608868c8c31586bb7eb84562a40a6bf5cc3e13b6b564641ea28
|
|
||||||
size 143468
|
|
3
LMDB_0.9.23.tar.gz
Normal file
3
LMDB_0.9.23.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:abf42e91f046787ed642d9eb21812a5c473f3ba5854124484d16eadbe0aa9c81
|
||||||
|
size 143813
|
@ -1 +1 @@
|
|||||||
liblmdb-0_9_22
|
liblmdb-0_9_23
|
||||||
|
15
lmdb.changes
15
lmdb.changes
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 25 21:10:07 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
- 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 <stefan.bruens@rwth-aachen.de>
|
Sat Oct 6 14:18:37 UTC 2018 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
18
lmdb.spec
18
lmdb.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package lmdb
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -20,10 +20,10 @@ Name: lmdb
|
|||||||
Summary: Lightning Memory-Mapped Database Manager
|
Summary: Lightning Memory-Mapped Database Manager
|
||||||
License: OLDAP-2.8
|
License: OLDAP-2.8
|
||||||
Group: Productivity/Databases/Tools
|
Group: Productivity/Databases/Tools
|
||||||
%define lname liblmdb-0_9_22
|
%define lname liblmdb-0_9_23
|
||||||
Version: 0.9.22
|
Version: 0.9.23
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://symas.com/mdb/
|
Url: https://symas.com/mdb/
|
||||||
|
|
||||||
#Git-Clone: git://git.openldap.org/openldap mdb.master
|
#Git-Clone: git://git.openldap.org/openldap mdb.master
|
||||||
Source: https://github.com/LMDB/lmdb/archive/LMDB_%version.tar.gz
|
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
|
Patch2: liblmdb-implicit-decl.patch
|
||||||
# PATCH-FIX-OPENSUSE - Build and link to shared library
|
# PATCH-FIX-OPENSUSE - Build and link to shared library
|
||||||
Patch3: Makefile-build-use-shared-lib.patch
|
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
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
%if 0%{?rhel_version} == 700
|
%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
|
strategy, which also provides resistance to corruption and eliminates
|
||||||
the need for any recovery procedures. The database is exposed in a
|
the need for any recovery procedures. The database is exposed in a
|
||||||
memory map, requiring no page cache layer of its own.
|
memory map, requiring no page cache layer of its own.
|
||||||
|
|
||||||
This package contains the files needed to compile programs that use
|
This package contains the files needed to compile programs that use
|
||||||
the liblmdb library.
|
the liblmdb library.
|
||||||
|
|
||||||
@ -89,7 +87,6 @@ the liblmdb library.
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cd libraries/liblmdb
|
cd libraries/liblmdb
|
||||||
@ -109,19 +106,16 @@ ln -s %{_libdir}/liblmdb-%{version}.so %{buildroot}%{_libdir}/liblmdb.so
|
|||||||
%postun -n %lname -p /sbin/ldconfig
|
%postun -n %lname -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc libraries/liblmdb/CHANGES
|
%doc libraries/liblmdb/CHANGES
|
||||||
%doc libraries/liblmdb/COPYRIGHT
|
%doc libraries/liblmdb/COPYRIGHT
|
||||||
%doc libraries/liblmdb/LICENSE
|
%license libraries/liblmdb/LICENSE
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%doc %{_mandir}/man1/*.1.gz
|
%doc %{_mandir}/man1/*.1.gz
|
||||||
|
|
||||||
%files -n %lname
|
%files -n %lname
|
||||||
%defattr(-,root,root)
|
|
||||||
%_libdir/liblmdb-%version.so
|
%_libdir/liblmdb-%version.so
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
|
||||||
%_includedir/*
|
%_includedir/*
|
||||||
%_libdir/liblmdb.so
|
%_libdir/liblmdb.so
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user