diff --git a/0001-debian-ports.patch b/0001-debian-ports.patch index 116a8ba..90439b2 100644 --- a/0001-debian-ports.patch +++ b/0001-debian-ports.patch @@ -4,6 +4,8 @@ Author: Nobuhiro Iwamatsu 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 #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 // 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 // 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. diff --git a/leveldb-1.14.0.tar.gz b/leveldb-1.14.0.tar.gz deleted file mode 100644 index 54a24bd..0000000 --- a/leveldb-1.14.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9122d2c248ba40d6ce46d0c3e4738fcfa941d0d93fdba20a101471a98e8b00a3 -size 208282 diff --git a/leveldb-1.15.0.tar.gz b/leveldb-1.15.0.tar.gz new file mode 100644 index 0000000..e3b8f26 --- /dev/null +++ b/leveldb-1.15.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7c4ec571ef2ee9719f31db06344a1eba495e6abeeac1bc349d0d38a911c6680 +size 205691 diff --git a/leveldb.changes b/leveldb.changes index f9f5b05..1e6f46b 100644 --- a/leveldb.changes +++ b/leveldb.changes @@ -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 diff --git a/leveldb.spec b/leveldb.spec index 8d0fb95..005b72b 100644 --- a/leveldb.spec +++ b/leveldb.spec @@ -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