Commit Graph

4273 Commits

Author SHA1 Message Date
Quanah Gibson-Mount
c2cb945c30 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2015-01-19 13:31:51 -06:00
Hallvard Furuseth
6586299f55 Restrictive mdb_copy file mode.
Copied from 58ddb5527b.
2015-01-15 07:19:30 +01:00
Howard Chu
7df548dc04 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2015-01-14 21:46:57 +00:00
leo@yuriev.ru
8230b1b630 ITS#7970 LMDB: Critical Heisenbug
Inconsistent reading & SIGSEGV due to the race condition.
2015-01-14 19:24:18 +01:00
leo@yuriev.ru
1e5d79831c ITS#7969 LMDB: volatile.
Globally shared fields of meta-data were not 'volatile'.
Code from 9a80a8a8e8,
except the unportable __synchronize().
2015-01-14 19:24:18 +01:00
Howard Chu
fccca0ead9 Minor cleanup (coverity) 2015-01-14 16:59:54 +00:00
Howard Chu
bf4ed09c5e Plug leak (coverity) 2015-01-14 14:16:24 +00:00
Howard Chu
04591c4706 Minor cleanup (coverity) 2015-01-14 14:04:03 +00:00
Howard Chu
9e69e0b559 Plug unlikely memleak (coverity) 2015-01-13 21:13:46 +00:00
Howard Chu
7d483f7aba Fix dangling lock (coverity) 2015-01-13 21:13:46 +00:00
Howard Chu
08f5aca7db Plug unlikely memleak (coverity) 2015-01-13 20:38:38 +00:00
Howard Chu
ea80418cfc Fix potential null deref (coverity) 2015-01-13 19:22:42 +00:00
Howard Chu
9710c2b17b Fix argument order for ucisprop (coverity) 2015-01-13 18:20:36 +00:00
Quanah Gibson-Mount
9328a41f49 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2015-01-13 10:24:08 -06:00
Howard Chu
ae6347bac1 ITS#8022 an async connect may still succeed immediately 2015-01-12 22:27:58 +00:00
Hallvard Furuseth
0599dee9d4 ITS#8021 doc: Don't mix MDB_WRITEMAP + non-WRITEMAP 2015-01-12 12:20:31 +01:00
Howard Chu
bf3961e3c7 More cleanup for fdatasync hack 2015-01-12 10:41:32 +00:00
Howard Chu
e85c944a3a Tweak conditionals for fdatasync hack 2015-01-11 11:41:08 +00:00
Howard Chu
0b9f42d1f4 ITS#8021 env_sync is invalid in RDONLY env 2015-01-09 11:25:07 +00:00
Howard Chu
4500d49f36 fdatasync hack, again
Check for ext3/ext4 fs, then check kernel version.
2015-01-08 13:03:55 +00:00
Howard Chu
888a76f651 Revert "Fix prev commit for env_sync0"
This reverts commit e95c9231fc.

Revert "Hack for potential ext3/ext4 corruption issue"

This reverts commit 91155b9d67.
2015-01-08 12:57:08 +00:00
Howard Chu
fa255d0fed ITS#8020 fix 64bit hash finalizer 2015-01-07 17:48:49 +00:00
Quanah Gibson-Mount
a8bb1769f5 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2014-12-22 12:13:26 -06:00
Howard Chu
fe8b13f225 Tweak fdatasync hack description 2014-12-22 18:07:08 +00:00
Quanah Gibson-Mount
eb8c94919e Merge remote-tracking branch 'origin/mdb.RE/0.9' 2014-12-20 19:31:13 -06:00
Howard Chu
e95c9231fc Fix prev commit for env_sync0 2014-12-21 00:14:16 +00:00
Quanah Gibson-Mount
5e028ae839 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2014-12-17 23:39:37 -06:00
Howard Chu
02495837dc Update for fsync hack 2014-12-18 04:46:43 +00:00
Howard Chu
91155b9d67 Hack for potential ext3/ext4 corruption issue
Use regular fsync() if we think this commit grew the DB file.
2014-12-18 04:45:02 +00:00
Quanah Gibson-Mount
bae699bfd9 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2014-12-17 13:21:24 -06:00
Howard Chu
e6ac9c2314 Update for 0.9.15 2014-12-17 15:29:48 +00:00
Quanah Gibson-Mount
ef95ee1755 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2014-12-16 02:01:33 -06:00
Howard Chu
a0accc86f2 Fix MDB_APPEND doc
We actually compare the new key against the last key, to prevent
corruption.
2014-12-15 20:45:02 +00:00
Hallvard Furuseth
f1417e2634 make clean: remove *.lo 2014-12-15 20:44:42 +00:00
Howard Chu
dcccd8a89a Clarify mdb_dbi_open doc
The concurrency restriction is on threads within a single process.
Multiple processes can use mdb_dbi_open without affecting each other.
2014-12-15 20:44:30 +00:00
Quanah Gibson-Mount
c46c6ecfa4 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2014-12-10 17:09:29 -06:00
Howard Chu
234931acb0 ITS#8001 fix ldap_sync_initialize 2014-12-10 22:58:33 +00:00
Leo Yuriev
196e07ca58 ITS#7987 fix excessive space for single write txn 2014-12-05 21:07:55 +00:00
Hallvard Furuseth
f284c3232d Fix WIN32 -> _WIN32 2014-12-05 18:43:07 +01:00
Hallvard Furuseth
8704eff591 mdb_strerror: Silence warning @ Windows 2014-12-01 20:17:27 +01:00
Hallvard Furuseth
5bf495abdc Fix comments 2014-12-01 20:17:27 +01:00
Hallvard Furuseth
3aa7537adc Simplify recent changes a bit. 2014-12-01 20:17:27 +01:00
Hallvard Furuseth
17bf75b12e ITS#7961,#7987 Re-fix txn init.
More fallout from 4d02c741b1:
Don't modify another thread's write txn. Reinit me_txn0 fully.
2014-12-01 20:17:13 +01:00
Howard Chu
3ce002fd13 ITS#7959 fix prev commit
fstat returns -1, not an errno. Move code into its own function
for reuse.
2014-12-01 20:15:36 +01:00
Howard Chu
ce40f4f314 ITS#7961 fix txn init
More fallout from 4d02c741b1
2014-12-01 20:15:36 +01:00
Jean-Christophe DUBOIS
042e76685e ITS#7959 Check fstat return value
Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
2014-12-01 20:15:36 +01:00
Leo Yuriev
c473091f8f ITS#7841 trivial cleanup
TRIVIA - lmdb: clean testdb-dir while "make test".
2014-12-01 20:15:36 +01:00
Howard Chu
98ed192949 ITS#7956 fix compact of empty env 2014-12-01 20:15:36 +01:00
Howard Chu
af99820ac8 ITS#7955, #7671 fix MDB_PREV_DUP 2014-12-01 20:15:36 +01:00
Howard Chu
0482f1898d ITS#7953 .gitignore *.lo 2014-12-01 20:15:35 +01:00
Howard Chu
9227f66673 ITS#7952 .gitignore mdb_dump/load 2014-12-01 20:15:35 +01:00
Howard Chu
20ad21dcc4 Don't use -fPIC for static lib 2014-12-01 20:15:35 +01:00
Howard Chu
df9da7c7be Must do dlist_free before releasing Wmutex 2014-12-01 20:15:35 +01:00
Howard Chu
9eede0b103 Free write mutex earlier in txn_reset0 2014-12-01 20:15:30 +01:00
Mark Reynolds
7a7d941943 ITS#7979 MozNSS fix for TLS_PROTOCOL_MIN
Fix NSS code to check for TLS_PROCOTOL_MIN, and then set the SSL
version range(min and max). Also updated SSL version string map
table to support up to TLSv1.3
2014-11-13 15:11:40 +00:00
Howard Chu
d06073d0d6 Fix a1e3b1cf3c
copy/paste error
2014-10-15 11:11:08 +01:00
Howard Chu
b36bd703d7 ITS#7967 fix abandon regression
From ITS#7712, avoid double-free of request
2014-10-15 11:08:29 +01:00
Kurt Zeilenga
055996fc2e closedir() replacement function should return a result
return success, ignoring result of FindClose
2014-10-10 12:15:48 -07:00
Kurt Zeilenga
a1e3b1cf3c Fix pointer incompatibility issue on some platforms
Don't assume tv_sec is a time_t.
2014-10-10 11:56:31 -07:00
Howard Chu
a7639a66a4 Android also only has memalign 2014-09-25 19:25:56 +01:00
Howard Chu
63c706ff2b Merge remote-tracking branch 'origin/mdb.master' 2014-09-20 07:28:07 +01:00
Howard Chu
2f587ae081 new date 2014-09-20 07:24:32 +01:00
Howard Chu
fd1bf39770 Merge remote-tracking branch 'origin/mdb.master' 2014-09-19 02:30:32 +01:00
Howard Chu
62e4eeb7f7 ITS#7943 reinit txn flags
When reusing the main write txn
2014-09-19 01:45:43 +01:00
Howard Chu
cdcf70eeb6 Merge remote-tracking branch 'origin/mdb.master' 2014-09-18 02:12:33 +01:00
Howard Chu
891e662754 Plug leak in 4d02c741b1
Free writer txn on env_close
2014-09-18 01:22:02 +01:00
Howard Chu
674f52fdb4 Silence some clang warnings 2014-09-16 21:54:07 +01:00
Quanah Gibson-Mount
20407ec5da Merge remote-tracking branch 'origin/mdb.master' 2014-09-15 13:53:04 -05:00
Howard Chu
b9495245b4 Release 0.9.14 2014-09-15 19:48:32 +01:00
Quanah Gibson-Mount
46331f0216 Merge remote-tracking branch 'origin/mdb.master' 2014-09-13 16:24:58 -05:00
Quanah Gibson-Mount
5ee99f1125 Change retry to num times 60. Testing shows that on a known dataset, this has the same growth behavior as 2.4.39, while num times 20 resulted in significant growth. 2014-09-13 16:21:17 -05:00
Howard Chu
3646ba966c More for me_pgoldest
Leave it in main env struct, it doesn't need to be rolled back
with nested txns.
2014-09-09 19:44:23 +01:00
Howard Chu
29fd241fad Remember oldest reader txnid
Don't walk the readers table unless we really need to.
2014-09-09 19:40:05 +01:00
Howard Chu
4d02c741b1 Use a single write txn 2014-09-04 10:40:11 +01:00
Howard Chu
8d346721a6 Merge remote-tracking branch 'origin/mdb.master' 2014-08-24 21:21:26 +01:00
Howard Chu
a054a194e8 ITS#7913 cleanup
we already checked for data == NULL, drop unnecessary if
2014-08-24 21:18:03 +01:00
Howard Chu
ff6bc13166 Merge remote-tracking branch 'origin/mdb.master' 2014-08-21 17:41:09 -07:00
Howard Chu
8fbbc71506 More for MIPS
Move CACHEFLUSH, avoid unnecessary if()
2014-08-21 17:40:20 -07:00
Howard Chu
55957253cc Merge remote-tracking branch 'origin/mdb.master' 2014-08-17 20:49:13 -07:00
Howard Chu
4008e5e583 Partially revert ada2630699
Of course, MacOSX only has posix_memalign, and only in recent versions.
(Older versions could use valloc instead. That precludes ever changing
the LMDB pagesize to be different from the OS pagesize.) Not all that
crucial since it only affects mdb_env_copyfd1.
2014-08-17 20:44:53 -07:00
Howard Chu
b814f85920 Merge remote-tracking branch 'origin/mdb.master' 2014-08-17 14:56:55 -07:00
Hallvard Furuseth
cf4fe3b1fb Microoptimize loose pages 2014-08-17 01:50:32 +02:00
Hallvard Furuseth
1e7eeed28d Fix loose pages in mdb_freelist_save().
Leaving them in dirty_list caused breakage.  Instead merge them
into me_pghead at the end, when no more pages will be allocated.
2014-08-17 00:29:12 +02:00
Hallvard Furuseth
983f896aa7 Split out mdb_midl_xmerge, add MDB_IDL_ALLOCLEN 2014-08-16 11:34:44 +02:00
Howard Chu
6e430cca90 Merge remote-tracking branch 'origin/mdb.master' 2014-08-11 11:02:31 -07:00
Howard Chu
992a96e171 ITS#7917 2014-08-11 11:01:20 -07:00
Howard Chu
322cd26a7b ITS#7917 fix mdb_dbi_open
Don't let dummy go out of scope
2014-08-11 11:00:11 -07:00
Howard Chu
ada2630699 Just use memalign, not posix_memalign
Everything has it. Solaris doesn't have posix_memalign.
2014-08-07 11:06:53 -07:00
Howard Chu
2d731f8876 Merge remote-tracking branch 'origin/mdb.master' 2014-08-06 08:36:17 -07:00
Howard Chu
899b23f89d More for MIPS
Do a cacheflush after writing data pages, separate from meta's cacheflush
2014-08-04 11:40:24 -07:00
Howard Chu
ae0c9f484d ITS#7793 more for branch key update 2014-08-04 09:26:35 -07:00
Howard Chu
9cf1749f73 ITS#7793 doc update, again 2014-08-04 05:13:29 -07:00
Howard Chu
f21f15e5a0 ITS#7793 update branch key if needed 2014-08-04 04:57:53 -07:00
Howard Chu
9febe03eb5 More for MIPS
Paranoia for 3630066843 do the
cacheflush before setting mti_txnid.
2014-08-02 10:33:35 -07:00
Quanah Gibson-Mount
1f6f4f4f28 Merge remote-tracking branch 'origin/mdb.master' 2014-07-31 12:56:49 -05:00
Howard Chu
8498c6cba2 ITS#7913 mdb_cursor_get(*_DUP) cleanup
FIRST_DUP/LAST_DUP should succeed even on non-duplicate values
PREV_DUP should reset cursor's EOF flag.
2014-07-31 09:59:52 -07:00
Howard Chu
3630066843 Fix MIPS cache coherency on Linux
MIPS chips require manual control of on-chip caches. The cacheflush
syscall being used here only exists on MIPS Linux, other OSs will
require revisiting.
2014-07-26 18:16:02 -07:00
Quanah Gibson-Mount
011eb3a27c Merge remote-tracking branch 'origin/mdb.master' 2014-07-24 12:07:44 -05:00
Howard Chu
d098184f61 Update date 2014-07-24 04:15:45 -07:00
Howard Chu
082bac1492 more for mdb_cursor_count
return MDB_NOTFOUND if the cursor is empty
2014-07-24 04:13:55 -07:00