- updated to 1.15.0

+ switched from mmap based writing to simpler stdio based writing. Has
    a minor impact (0.5 microseconds) on microbenchmarks for asynchronous
    writes. Synchronous writes speed up from 30ms to 10ms on linux/ext4.
    Should be much more reliable on diverse platforms.
  + compaction errors now immediately put the database into a read-only
    mode (until it is re-opened). As a downside, a disk going out of
    space and then space being created will require a re-open to recover
    from, whereas previously that would happen automatically. On the
    plus side, many corruption possibilities go away.
  + force the DB to enter an error-state so that all future writes fail
    when a synchronous log write succeeds but the sync fails.
  + repair now regenerates sstables that exhibit problems
  + fix issue 218 - Use native memory barriers on OSX
  + fix issue 212 - QNX build is broken
  + fix build on iOS with xcode 5
  + make tests compile and pass on windows
- refreshed 0001-debian-ports.patch
  + moved OS_MACOSX hunk

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/leveldb?expand=0&rev=7
This commit is contained in:
David Disseldorp 2014-02-05 16:49:19 +00:00 committed by Git OBS Bridge
parent e730bd6185
commit e75eb46a6d
4 changed files with 44 additions and 16 deletions

View File

@ -4,6 +4,8 @@ Author: Nobuhiro Iwamatsu <iwamatsu@debian.org>
port/atomic_pointer.h | 136 ++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 126 insertions(+), 10 deletions(-)
Index: leveldb/port/atomic_pointer.h
===================================================================
--- leveldb.orig/port/atomic_pointer.h
+++ leveldb/port/atomic_pointer.h
@@ -38,6 +38,18 @@
@ -25,13 +27,24 @@ Author: Nobuhiro Iwamatsu <iwamatsu@debian.org>
#endif
namespace leveldb {
@@ -50,9 +62,17 @@ namespace port {
@@ -50,16 +62,27 @@ namespace port {
// http://msdn.microsoft.com/en-us/library/ms684208(v=vs.85).aspx
#define LEVELDB_HAVE_MEMORY_BARRIER
+#define ReadMemoryBarrier MemoryBarrier()
+#define WriteMemoryBarrier MemoryBarrier()
+
// Mac OS
#elif defined(OS_MACOSX)
-inline void MemoryBarrier() {
+inline void ReadMemoryBarrier() {
+ OSMemoryBarrier();
+}
+inline void WriteMemoryBarrier() {
OSMemoryBarrier();
}
#define LEVELDB_HAVE_MEMORY_BARRIER
// Gcc on x86
#elif defined(ARCH_CPU_X86_FAMILY) && defined(__GNUC__)
-inline void MemoryBarrier() {
@ -44,7 +57,7 @@ Author: Nobuhiro Iwamatsu <iwamatsu@debian.org>
// See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on
// this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering.
__asm__ __volatile__("" : : : "memory");
@@ -61,7 +81,12 @@ inline void MemoryBarrier() {
@@ -68,7 +91,12 @@ inline void MemoryBarrier() {
// Sun Studio
#elif defined(ARCH_CPU_X86_FAMILY) && defined(__SUNPRO_CC)
@ -58,18 +71,6 @@ Author: Nobuhiro Iwamatsu <iwamatsu@debian.org>
// See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on
// this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering.
asm volatile("" : : : "memory");
@@ -70,7 +95,10 @@ inline void MemoryBarrier() {
// Mac OS
#elif defined(OS_MACOSX)
-inline void MemoryBarrier() {
+inline void ReadMemoryBarrier() {
+ OSMemoryBarrier();
+}
+inline void WriteMemoryBarrier() {
OSMemoryBarrier();
}
#define LEVELDB_HAVE_MEMORY_BARRIER
@@ -88,17 +116,99 @@ typedef void (*LinuxKernelMemoryBarrierF
// shows that the extra function call cost is completely negligible on
// multi-core devices.

3
leveldb-1.15.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7c4ec571ef2ee9719f31db06344a1eba495e6abeeac1bc349d0d38a911c6680
size 205691

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Wed Feb 5 16:14:12 UTC 2014 - ddiss@suse.com
- updated to 1.15.0
+ switched from mmap based writing to simpler stdio based writing. Has
a minor impact (0.5 microseconds) on microbenchmarks for asynchronous
writes. Synchronous writes speed up from 30ms to 10ms on linux/ext4.
Should be much more reliable on diverse platforms.
+ compaction errors now immediately put the database into a read-only
mode (until it is re-opened). As a downside, a disk going out of
space and then space being created will require a re-open to recover
from, whereas previously that would happen automatically. On the
plus side, many corruption possibilities go away.
+ force the DB to enter an error-state so that all future writes fail
when a synchronous log write succeeds but the sync fails.
+ repair now regenerates sstables that exhibit problems
+ fix issue 218 - Use native memory barriers on OSX
+ fix issue 212 - QNX build is broken
+ fix build on iOS with xcode 5
+ make tests compile and pass on windows
- refreshed 0001-debian-ports.patch
+ moved OS_MACOSX hunk
-------------------------------------------------------------------
Wed Dec 18 17:49:35 CET 2013 - ro@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package leveldb
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: leveldb
Version: 1.14.0
Version: 1.15.0
Release: 0
Summary: A key/value-store
License: BSD-3-Clause