Hallvard Furuseth
20baad4a20
libmdb: midl.h namespace cleanup.
...
Prefix ID, NOID, ID2, IDL, ID2L with 'MDB_'.
Also drop bdb from file description.
2012-04-12 08:24:36 +02:00
Hallvard Furuseth
0a4aa88927
libmdb: Simplify pick_meta() from read_meta().
...
Put one call in #if MDB_DEBUG. Move DPRINTF(Using meta page #) there.
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
dce5bb2fee
libmdb: Simplify mdb_default_cmp. No real change.
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
729a8a2819
libmdb: signed meets unsigned warning cleanup
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
99fa22c164
libmdb: MDB_FDATASYNC code cleanup.
...
Define MDB_FDATASYNC() instead of redefining fdatasync().
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
592b3f8727
libmdb: Add C++ 'extern "C" {}' to *.h
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
8e1ebbb4a8
libmdb: Don't open datafile twice when not needed.
...
If the database is opened with MDB_RDONLY or MDB_NOSYNC,
instead use the same file descriptor for me_mfd and me_fd.
Also factor out Windows/Unix error handling after open.
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
6d0b424dbe
libmdb: Set close-on-exec flag on lockfile
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
4a0b30499c
libmdb: Do not use the MDB_txbody.mtb_txnid field.
...
Get txn->mt_txnid from the meta page instead. Otherwise it
and txn->mt_toggle could become inconsistent, since read-only
txns fetched both from MDB_txbody without mutex proteciton.
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
d1738c3e6b
Fix MDB_DEBUG in last ITS#7299 commit.
...
Make DPRINTF usable in if-else. Silence signed vs unsigned warning.
2012-04-12 07:34:13 +02:00
Howard Chu
d806b970b1
Merge remote branch 'origin/mdb.master'
2012-04-10 15:42:43 -07:00
Howard Chu
d793594173
ITS#7229 more mdb_page_split tweaks
...
Also add mdb_debug/mdb_debug_start to toggle debug output at runtime
2012-04-10 14:05:05 -07:00
Howard Chu
a66f9e9292
ITS#7210 fix check for freelist changes
...
Was being fooled before because the newly malloc'd block had
the same address as the previously freed block.
2012-04-09 19:24:47 -07:00
Howard Chu
321b0fa93e
Merge remote branch 'origin/mdb.master'
2012-04-09 05:19:41 -07:00
Howard Chu
191d78948b
ITS#7238 doc clarification
2012-04-09 05:01:37 -07:00
Howard Chu
ae027b5214
ITS#7229 additional tweaks
...
Should probably compare nsize to pg_size/4 instead...
2012-04-09 04:45:32 -07:00
Howard Chu
de0cb27d70
ITS#7230 check and strip 0 length IDLs from freelist
2012-04-09 04:44:08 -07:00
Howard Chu
d2da9c1a7d
Merge remote branch 'origin/mdb.master'
2012-04-07 04:59:30 -07:00
Howard Chu
7ba25c488a
ITS#7229 more mdb_page_split fixes
2012-04-07 01:27:38 -07:00
Howard Chu
04c44f016c
Merge remote branch 'origin/mdb.master'
2012-04-04 05:52:45 -07:00
Howard Chu
84acc0e803
ITS#7219 fixup keysize in previous commit
2012-04-04 05:44:53 -07:00
Howard Chu
fc1396fa2e
Merge remote branch 'origin/mdb.master'
2012-04-04 01:39:27 -07:00
Howard Chu
0f10814494
ITS#7219 fix for odd-aligned keys in mdb_update_key()
2012-04-03 12:24:27 -07:00
Howard Chu
487d3966ee
Merge remote branch 'origin/mdb.master'
2012-03-30 06:37:12 -07:00
Howard Chu
91bab157f6
ITS#7210 fix leak of overflow pages in freelist
2012-03-30 06:36:02 -07:00
Howard Chu
7ff8baf1d3
Merge remote branch 'origin/mdb.master'
2012-03-28 10:45:06 -07:00
Howard Chu
f53beeabee
Partial revert of prev commit
...
Sub-DBs were correct before
2012-03-28 10:44:18 -07:00
Howard Chu
55060f6b1f
Merge remote branch 'origin/mdb.master'
2012-03-28 10:35:56 -07:00
Howard Chu
ac0b18911b
Fix entry counts in cursor_put
...
when replacing an existing item
2012-03-28 10:34:35 -07:00
Howard Chu
b8bbe985b8
Merge remote branch 'origin/mdb.master'
2012-03-28 09:34:13 -07:00
Howard Chu
0952cfdf84
Fix uninit'd xcursor index
2012-03-28 09:33:06 -07:00
Howard Chu
5c16c8842b
Add mfree utility to show the freelist
2012-03-28 09:20:18 -07:00
Howard Chu
04f488e7a0
ITS#7210 additional freelist fixes
...
Also allow read access to freelist in mdb_cursor_open
2012-03-28 09:18:00 -07:00
Howard Chu
b92af0760b
ITS#7210 partial fix
...
Allow pages from free list to be used when growing the free list.
(Yes, this is self-referential...)
2012-03-27 06:44:28 -07:00
Howard Chu
5fcc9285fb
Merge remote branch 'origin/mdb.master'
2012-03-26 06:59:41 -07:00
Howard Chu
8a4981d8aa
ITS#7213 fix page_split with MDB_APPEND
...
don't skip the cursor adjust checks
2012-03-26 06:58:16 -07:00
Howard Chu
dcf94e25f5
ITS#7207 check for ld->ld_defconn
2012-03-26 03:35:31 -07:00
Howard Chu
25e8e82c5f
Update overflow page count when freeing overflow page
2012-03-20 17:14:59 -07:00
Howard Chu
9b21d585dc
Merge remote branch 'origin/mdb.master'
2012-03-09 12:48:57 -08:00
Hallvard Furuseth
c7da506dd2
Fix MDB_txninfo.mt2 padding on Windows/Apple
2012-03-09 19:30:34 +01:00
Hallvard Furuseth
c7fe1f466e
Tweak mdb comment with conflicting spec of 'ID'
2012-03-09 19:25:44 +01:00
Hallvard Furuseth
5c182fbedf
Fix valgrind call after malloc failure in mdb.
...
Also line up the code logic a bit.
2012-03-09 19:22:31 +01:00
Hallvard Furuseth
d3b9939e71
Clean up MAP_FAILED handling in mdb.
...
Delay (MDB_txninfo*) cast to after comparing mmap() with MAP_FAILED.
Otherwise, if MAP_FAILED = (void*)-1 but MDB_txninfo requires stricter
alignment, the compiler could assume the result is never MAP_FAILED.
Also store NULL in env->(me_map, me_txns) after mmap failure.
2012-03-09 19:06:04 +01:00
Hallvard Furuseth
2baadabdff
ITS#7191 Align dirty MDB pages on the stack
2012-03-09 18:45:39 +01:00
Howard Chu
cfa8dd6884
Merge remote branch 'origin/mdb.master'
2012-03-08 21:39:01 -08:00
Howard Chu
15f3e650da
ITS#7191 more alignment tweaks
...
Revealed when gcc optimization is enabled
2012-03-08 21:28:24 -08:00
Howard Chu
bb921063e0
ITS#7194 fix IPv6 URL detection
2012-03-08 19:35:44 -08:00
Howard Chu
3743a5a68e
Merge remote branch 'origin/mdb.master'
2012-03-06 22:56:29 -08:00
Howard Chu
2ccf0d58b2
Fix typo in 7bc62c5128
2012-03-06 22:55:53 -08:00
Howard Chu
5ce2a2aee6
Merge remote branch 'origin/mdb.master'
2012-03-06 22:17:19 -08:00
Howard Chu
7bc62c5128
ITS#7190 fix merging of branch pages in deletes
2012-03-06 22:12:21 -08:00
Hallvard Furuseth
d50d57ed63
Fix libmdb comments
2012-03-03 09:58:05 +01:00
Hallvard Furuseth
e1b88d93ac
Remove development file libmdb/make.sh
2012-03-03 09:52:33 +01:00
Hallvard Furuseth
d8b4598085
ITS#7191 Fix mdb_xcursor_init1() unaligned access
2012-03-03 09:49:20 +01:00
Howard Chu
9547dd7a0d
Merge remote branch 'origin/mdb.master'
2012-03-02 17:28:51 -08:00
Howard Chu
1b07b48c1a
ITS#7196 use IOV_MAX if it's defined and small
2012-03-02 17:26:49 -08:00
Howard Chu
de7f6d38fa
ITS#7115 add missing pool_idle/unidle stubs
2012-02-27 20:42:29 -08:00
Howard Chu
aa33f4b220
Merge remote branch 'origin/mdb.master'
2012-02-21 11:52:44 -08:00
Howard Chu
b23bb7a0b1
ITS#7160 get BYTE_ORDER def for HPUX (and Solaris)
2012-02-21 11:52:01 -08:00
Howard Chu
33f6bc4fe6
ITS#7167 only poll sockets for write as needed
2012-02-20 14:51:30 -08:00
Howard Chu
92ed65d298
ITS#7174 lutil_str2bin: can't modify input strings
2012-02-19 18:10:16 -08:00
Hallvard Furuseth
ffbad797c8
Fix typo in ldap_int_client_controls() comment
2012-02-07 16:11:43 +01:00
Jan Vcelak
4e9926ca97
ITS#7136 MozNSS: store TLS params until the deferred initialization is finished
...
Deferred TLS initialization is used with Mozilla NSS. The real
initialization takes place when the TLS context is needed for the first
time. If the initialization parameters were freed immediately after
tlsm_ctx_init was called, they were not available at the time of
deferred initialization which caused segmentation fault.
With this patch, initialization parameters are copied and stored until
the deferred initialization is finished. The parameters are freed
afterwards.
Red Hat Bugzilla: #783431
2012-01-25 21:24:28 -08:00
Jan Vcelak
1107103dd7
ITS#7135 MozNSS, PEM: fix segfault when TLS certificate key is not set
...
Red Hat Bugzilla: #772890
2012-01-25 21:22:47 -08:00
Howard Chu
ce2c041671
Cleanup gssapi_flags -> ldo_gssapi_flags
2012-01-24 15:43:39 -08:00
Howard Chu
7ff18967d7
More for prev commit ( 270ef33acf)
2012-01-24 15:43:14 -08:00
Howard Chu
270ef33acf
ITS#7118, #7133 tentative fix
...
Move mutexes to end of structs, so libldap can ignore them
2012-01-24 13:32:52 -08:00
Hallvard Furuseth
1a931a86ee
Silence 'assign away const' warning
2012-01-24 01:45:51 +01:00
Hallvard Furuseth
999ff398d6
thr_debug: tweak debug_already_initialized().
...
With gcc, declare debug_already_initialized() as 'noinline' so
its deliberate uninitialized access stays inside the function and
valgrind can ignore it there.
2012-01-24 01:45:51 +01:00
Hallvard Furuseth
23f3657807
ITS#7115: Tighten ldap_pvt_thread_pool_unidle().
...
Only wait out already-started pauses, not pause reqests.
ltp_pause now says whether a pause is requested or has started.
This reduces the chance that slapd:send_ldap_ber() will start
a pause in the middle of an operation.
2012-01-24 00:47:48 +01:00
Howard Chu
a8f6deee03
Merge remote branch 'origin/mdb.master'
2012-01-21 17:32:18 -08:00
Howard Chu
953796759e
Fix typo in e8e57be421
2012-01-21 17:31:23 -08:00
Howard Chu
7d13ef7e42
Merge remote branch 'origin/mdb.master'
2012-01-21 08:29:03 -08:00
Howard Chu
e8e57be421
Add valgrind support with -DUSE_VALGRIND
...
Track allocations and invalid accesses to freed tmp pages.
2012-01-21 08:22:59 -08:00
Howard Chu
3d6b924c25
txn_commit must abort txn before returning errors
...
Fix for failure when committing a txn that is a child of
some parent txn.
2012-01-21 08:20:43 -08:00
Howard Chu
1c8de1883c
ITS#7121 fix page splits when newindx == 0
2012-01-21 08:18:37 -08:00
Howard Chu
b9cbcb0588
ITS#7126 fix cursor tracking code
...
Don't compare cursors that aren't deep enough to match the
current cursor.
2012-01-21 08:12:56 -08:00
Howard Chu
713bf092b6
Happy New Year!
2012-01-21 08:09:16 -08:00
Howard Chu
a17f8e7326
ITS#7121 fix page splits when data+key size is too large
2012-01-21 08:09:16 -08:00
Kurt Zeilenga
81afbb2fca
Happy New Year!
2012-01-21 08:07:21 -08:00
Hallvard Furuseth
fa7575666f
ITS#7115 Re-fix tpool.c (idle/unidle)
2012-01-13 15:38:12 +01:00
Howard Chu
e86da2fe3f
ITS#7121 fix page splits when data+key size is too large
2012-01-04 15:27:15 -08:00
Kurt Zeilenga
2bbf9804b9
Happy New Year!
2012-01-01 07:10:53 -08:00
Howard Chu
68ee165fb5
ITS#7115 blocked writers should not interfere with pool pause
2011-12-21 01:24:23 -08:00
Howard Chu
fadb48a723
Add $(SOLIBS) macro for shared lib dependencies
2011-11-21 16:30:58 -08:00
Howard Chu
95a72ac82a
Add $(SOLIBS) macro for shared lib dependencies
2011-11-18 15:43:55 -08:00
Howard Chu
ea026cb2cf
Merge remote branch 'origin/mdb.master'
2011-11-15 11:23:48 -08:00
Howard Chu
dd9c56f0fb
More s/DEBUG/MDB_DEBUG/
2011-11-15 11:23:00 -08:00
Howard Chu
40477fae4e
Merge remote branch 'origin/mdb.master'
2011-11-14 16:22:51 -08:00
Howard Chu
575691ca8a
Alignment fixes for debug msgs
2011-11-14 16:21:59 -08:00
Howard Chu
51c1ba6818
s/DEBUG/MDB_DEBUG/
2011-11-14 14:40:43 -08:00
Howard Chu
122fa3a895
Merge remote branch 'origin/mdb.master'
2011-11-11 12:50:12 -08:00
Howard Chu
29de655bc4
Add MDB_FDATASYNC to allow override to fsync if needed.
2011-11-11 12:49:11 -08:00
Howard Chu
ca15238dfb
Merge remote branch 'origin/mdb.master'
2011-11-11 11:00:14 -08:00
Howard Chu
291c0ce2db
Use <inttypes.h> instead of <stdint.h>
2011-11-11 10:59:27 -08:00
Howard Chu
334099c0db
Merge remote branch 'origin/mdb.master'
2011-11-10 12:43:41 -08:00
Howard Chu
8763c41e30
Fix size check
2011-11-10 12:41:34 -08:00
Howard Chu
52a0d00031
Merge remote branch 'origin/mdb.master'
2011-11-09 15:36:00 -08:00
Howard Chu
04b522cc72
More Solaris warning cleanup
2011-11-09 15:32:37 -08:00
Howard Chu
b905811d3c
Merge remote branch 'origin/mdb.master'
2011-11-09 01:02:38 -08:00